1. JavaScript / Говнокод #3662

    +167

    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
    switch (columnType)
    {
        case 'first':
        {
            className = '.active-tooltip-first';
            break;
        }
    
        case 'second':
        {
            className = '.active-tooltip-second';
            break;
        }
    
        case 'third':
        {
            className = '.active-tooltip-third';
            break;
        }
    }

    Подобных перлов в данном проекте немало. По возможности вычищаю

    Запостил: blaster999, 08 Июля 2010

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

    • и что?
      Ответить
      • className = '.active-tooltip-' + columnType;
        Ответить
        • className в верстке могут поменяться и прощайте ваша конструкция с конкатенацией.

          Ясное дело, предложенный вами вариант удобен и красив в ДАННОМ случае, но это не говнокод ни разу.
          Ответить
          • > className в верстке могут поменяться

            Ну вот поменяется, и перепишу в свитчи/словарь. Нефиг мудрствовать лукаво.
            Ответить
          • Забавная логика.


            --Зачем у тебя 25 раз скопирована один и тот же блок кода? Давай вынесим его в функцию!
            --Что ты? А вдруг один из них поменяется -- и прощай твой код.

            Рефакторинг -- зло. Копипаст -- рулез
            Ответить
        • '.active-tooltip-' - это нужно в константу запихнуть, тогда если это когда-то поменяется - проблем не будет. Непридётся по всему проекту лазить автозаменой.
          Ответить
      • Классы first, second и third не поменяются, так как несут смысл не с точки зрения дизайна, а функциональности (для JQuery). Данный пример до боли напоминает if (a == 1) a = 1; else a = a;
        Ответить
        • >Классы first, second и third не поменяются

          А если поменяются классы .active-tooltip-second?
          Ответить
          • А если китайцы начнут третью мировую ядерную войну, сделают Россию провинцией РОСЯСЯ ЧЖОУХУЙ, и все, соответственно, начнут программировать на китайском? Что тогда делать? Ведь переписывать придётся. Посоветуйте, как избежать.
            Ответить
            • >>>третью мировую ядерную войну
              забей к тому времени как она закончится 90% что ты сдохнешь - так что не парься понапрасну.

              >>>Посоветуйте, как избежать.
              напасть на Китай первыми xD
              Ответить
            • Зачем мыться?
              Все равно испачкаюсь
              Ответить
              • Я так всегда с постелью делаю. Зачем вставать, если потом снова ложиться. :D
                Ответить
                • Зачем жрать, если потом всё равно срать.
                  Ответить
                  • Это принципиально разные вещи. Срёшь ты намного меньше, чем ешь, разве что на говнокоде это может быть не так.
                    Ответить

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