1. VisualBasic / Говнокод #12393

    −110

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    Sub WriteCategories(number, choice)
        
        strSql = ""
        strSql2 = ""
        
        If number = 1 Then
            strSql = "SELECT name, category_type_id" '... the rest is skipped
        Elseif number = 2 Or number = 3 Then
            strSql = "SELECT goco.category_order, goco.category_type_id," '... the rest is skipped
        End If
        
        If number = 1 And choice = 1 Then
            strSql2 = "SELECT gosct.category_type_id, goct.operator_id," '... the rest is skipped
            
        Set RS2 = db.Execute(strSql2)
            
        ' --- No sub categories are displayed if choice = 3
        Elseif choice <> 3 Then
            strSql2 = "SELECT goco.category_type_id, goco.sub_category_order, ..." 'the rest is skipped
            
            Set RS2 = db.Execute(strSql2)
        End If
        
        Set RS = db.Execute(strSql)
        
        ' --- CategoryListCurrent should not display selected category in categoryListMoveTo and vice versa.
        If number = 2 And choice = 1 Then
            '... the real code is skipped
            
            Do Until RS.EOF
                '... the real code is skipped
            Loop
        End If
        
        If number = 2 And choice = 2 Then
            '... the real code is skipped
            
            Do Until RS.EOF
                '... the real code is skipped
            Loop
        End If
        
        
        ' --- Loop through the recordset and print categories and sub categories.
        Do Until RS.EOF
            '... the real code is skipped
            
            If number = 2 And choice = 1 Then
                '... the real code is skipped
            End If
    
            If number = 2 And choice = 2 Then
                '... the real code is skipped
            End If
            
            If number = 3 And choice = 3 And subConfigCatId <> -1 Then
                '... the real code is skipped
            End If
            
            ' --- Print main categories
            Response.Write ("<option style=""color:"& color &""" value=""" & RS("category_type_id") & "_0"" " & tempSel & " " & disabled & ">" & RS("name") &  "</option>" &vbCrLf)
            
            If choice <> 3 Then
                ' --- Print sub categories
                RS2.MoveFirst
                If Not RS2.EOF Then
                    Do Until RS2.EOF
                        '... the real code is skipped
                        
                        If catId1 <> -1 And number = 2 And choice = 1 And subCatId1 > 0 Then
                            '... the real code is skipped
                        End If
                        
                        If catId2 <> -1 And number = 2 And choice = 2 And subCatId2 > 0 Then
                            '... the real code is skipped
                        End If
                        
                        ' --- Only print sub categories under a matching category
                        If CLng(RS2("category_type_id")) = CLng(RS("category_type_id")) Then
                            Response.Write ("<option value=""" & RS2("category_type_id") & "_" & RS2("sub_category_type_id") & """ " & tempSelSub & ">  - " & RS2("name") &  "</option>" &vbCrLf)
                        End If
                        RS2.MoveNext
                    Loop
                End If
            End If
            
            '... the real code is skipped
        Loop
    End Sub

    Один параметр числовой. Назовём его number (C) Captain Obvious.
    Второй параметр тоже числовой. Но так как имя number занято, назовём его choice.
    Именованные константы?.. Анти-паттерн «Spaghetti Code»? Не, не слышал…

    Запостил: wissenstein, 06 Января 2013

    Комментарии (0) RSS

    Добавить комментарий

    Ошибка компиляции комментария:
    1. Гости могут высказаться только в понедельник, среду, четверг или воскресение
    ava Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:
    А не использовать ли нам bbcode?
    • [b]жирный[/b] — жирный
    • [i]курсив[/i] — курсив
    • [u]подчеркнутый[/u] — подчеркнутый
    • [s]перечеркнутый[/s] — перечеркнутый
    • [blink]мигающий[/blink] — мигающий
    • [color=red]цвет[/color] — цвет (подробнее)
    • [size=20]размер[/size] — размер (подробнее)
    • [code=<language>]some code[/code] (подробнее)
    Проверочный код