1. Python / Говнокод #17140

    −108

    1. 1
    2. 2
    if True: #зачем.
        ....

    На новом проекте. Радуют и код и комментарии)

    Запостил: intestinalbrain, 20 Ноября 2014

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

    • Для дебага может? Типа перед тем как залить в продакшен поставят False. Ну или чтобы наверняка условие выполнилось, как вариант.
      Ответить
    • Часто использую в настройках, когда нужно быстро переключать некий кусок
      if True:  # когда надо, меняю на False
      # один кусок
      else:
      # другой кусок

      Удобно, что сохраняется подсветка и не надо 2 раза комментировать-раскомментировать, при том что IDE подсказывает True/False с набором первой буквы.
      Ответить
      • Я тоже так делаю. Особенно люблю когда "один кусок" это 150 строчек, и еще когда такие конструкции у меня встречаются по нескольку раз в каждом модуле!
        Ответить
        • А я люблю обмазываться не свежими условными операторами и компилировать. Каждый день я хожу по репозиториям с текстовым файлом и собераю в него все условные операторы которые вижу. На 150 строчек целый день уходит. Зато, когда после тяжёлого дня я прихожу домой, включаю комп, открываю редактор…ммм и сваливаю в него свое сокровище. И компилирую, представляя, что меня поглотил единый организм условных операторов. Мне вообще кажется, что условные операторы, умеют думать, у них есть свои семьи, города, чувства, не удаляйте их, лучше приютите у себя, говорите с ними, ласкайте их…. А вчера, мне преснился чудный сон, как будто я нырнул в море, и оно прератилось в условные операторы, рыбы, водоросли, медузы, все на условных операторах, даже небо, даже Аллах!
          Ответить
      • Пользуйся иде вместо блокнота, тогда комментарии будут по хоткею. Притом комментарий выглядит как комментарий, в отличие от сабжа.
        Ответить
        • а сишники со своим препроцессором и #ifdef debug всё смотрят да смеются, смотрят да смеются!
          Ответить
        • и что, что комментировать по хоткею. Если например у тебя в условии 10 строк - для их комментирования их выделить надо? Надо. Второй блок кода то же самое. Тут это решается удалением одного слова Ctrl+De; и набором 1 буквы T или F. При этом ты видишь в подсветке синтаксиса оба блока - и текущий, и недействующий. Ещё раз повторюсь - это не для продакшен кода, а для всяких временных вещей типа local settings.
          Хотя конечно петросянить всегда проще, чем головой думать.
          Ответить
          • У многих людей есть фабрика стратегий на этот случай, и куски кода всего лишь методы в ней
            Ответить
            • (Не волнуйся, анонимус, в письме всё написанное целиком приходит.)
              фабрика стратегий особенно полезна, когда ты раз в 5 минут например переключаешь плагины debug_toolbar и прочую никому, кроме тебя, не нужную фигню. Выносить это дело в фабрику - критически важное архитектурное решение.
              Ответить
          • > Если например у тебя в условии 10 строк - для их комментирования их выделить надо?
            C-SPC M-{ C-;

            Можно еще подравнять, чтобы после комментария текст не выходил за правую границу:
            M-q
            Ответить
            • Емаксоид
              Ответить
            • а если 9 или 11? 6? 24?
              Ответить
              • Хоткеи емакса я не знаю, но вроде как wvxvw юзает поиск до соответствующей скобки. Так что на количество строк вообще насрать.

                P.S. Потестил - M-{ прыгает на начало абзаца.
                Ответить
                • а где в питоне фигурные скобки, позвольте узнать?) Да и какие-то там хоткеи типа C-; , значение которых совершенно неочевидно - имхо тоже из области говнокода.
                  Ответить
                  • > а где в питоне фигурные скобки, позвольте узнать
                    Сорри, не посмотрел в шапку треда.

                    > хоткеи типа C-;
                    Емакс такой емакс... В лиспе комменты были на ;. Поэтому всё интуитивно (для лиспера). В том же Qt creator'е комментирование/раскомментирование выделенного блока навешано на C-/ (т.к. в сишке и плюсах комменты начинаются на /).
                    Ответить
              • > А если ...?
                Не важно, тут количество строк не влияет, выбирается параграф перед курсором.
                Ответить
                • да, я потом уже сообразил, что можно выделять по параграфу.
                  Ответить
                  • На самом деле M-f или M-b обычно лучше, но зависит от авторов парсера. Это выбирает выражение а не параграф, что обычно больше соответствует интуиции о том, что нужно закомментировать. Вроде в Питоне, даже в дефолтном парсере работает нормально. Я давно не смотрел, что там есть нового для работы с Питоном, может есть еще что-то типа паредита и т.п.
                    Ответить
                    • Еще, как вариант: M-C-S-a или M-C-S-e (к концу / началу определения).
                      Ответить
      • А флаг в настройках хранить не судьба?
        Ответить
        • а зачем лишний флаг в настройках, которые только мне и только для дебага нужны?
          Ответить

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