重构代码,用于删除报告中的if else

时间:2011-09-11 11:53:41

标签: winforms refactoring

我们继承了一个生成大量报告的系统。有用于选择不同选项的组合框。一旦在组合框中选择了不同的选项(每个表单至少5个组合框),则通过调用各种存储过程生成报告。

    if cmbCategory.text = "Category A" and cmbProdType = "Kids" 
    then 
        <code for calling stored proc **SPA** and populating controls on winform> 
    else if cmbCategory.text = "Category A" and cmbProdType = "Mens" 
    then 
        <code for calling stored proc **SPB** and populating controls on winform> 
    else if cmbCategory.text = "Category B" and cmbProdType = "Shoes" 
    then 
        <code for calling stored proc **SPC** and populating controls on winform> 
    else if cmbCategory.text = "Category C" and cmbProdType = "Hosiery" 
    then 
        <code for calling stored proc **SPD** and populating controls on winform> `

....等等。 如何重构代码以使其更具可读性?

1 个答案:

答案 0 :(得分:0)

查看下面的代码,您认为它现在更具可读性吗?

Select Case cmbCategory.Text
    Case "Category A"

        If cmbProdType = "Kids" Then
            '<code for calling stored proc **SPA** and populating controls on winform>
        ElseIf cmbProdType = "Mens" Then
            '<code for calling stored proc **SPB** and populating controls on winform>
        End If

    Case "Category B"


    Case "Category C"

    Case Else

End Select