Школоло / Говнокод #9220 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
For I = nrow_Start To nrow_Stop
    Do
        If Nrow_Frm1 = I Then Exit Do
        If Nrow_Frm2 = I Then Exit Do
        If Nrow_Frm3 = I Then Exit Do
        If Nrow_Frm4 = I Then Exit Do
    
        Cells(I, ncol_Period).FormulaR1C1 = formula
    Loop While False
Next I

И такое встречается..

Запостил: hexman hexman, (Updated )

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

  • Крайне оригинально использовать Do таким образом! Решения, приводящие к тому же результату - это
    1. Использование меток
    2. Куча if
    3. Вынос кода в отдельную процедуру

    И все они, в отличие от этого кода, ухудшили бы читабельность программы. Браво кодеру!
    Ответить
    • Да? А так?
      For I = nrow_Start To nrow_Stop
          Select Case I
          Case Nrow_Frm1, Nrow_Frm2, Nrow_Frm3, Nrow_Frm4
          Case Else: Cells(I, ncol_Period).FormulaR1C1 = formula
          End Select
      Next I
      Ответить
      • For I = nrow_Start To nrow_Stop
        Select Case I
        Case Nrow_Frm1, Nrow_Frm2, Nrow_Frm3, Nrow_Frm4
        Exit For
        Case Else
        Cells(I, ncol_Period).FormulaR1C1 = formula
        End Select
        Next

        Не забываем об оптимизации кода, ну хотя бы минимальной

        Двоеточие и имя переменной после Next хотя и сохранены для совместимости, но вы бы еще Goto втулили.
        Ответить

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

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8