1. C++ / Говнокод #16908

    +43

    1. 1
    2. 2
    3. 3
    for each (ToolStripMenuItem ^item in пользователиToolStripMenuItem->DropDownItems) {
    	item->Enabled = true;
    }

    Это C++, и это работает!

    Запостил: hdkeeper, 22 Октября 2014

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

    • Это корректный код на C++/CLI. Чего б ему не работать?
      Ответить
    • > пользователиToolStripMenuItem
      От создателей Acce$$ и Vi$ual $tudio.
      Ответить
      • Это автогенерация имён переменных дизайнером меню, так что ничего особенного.
        Ответить
    • -
      Ответить
      • -
        Ответить
        • Какие, например?
          Ответить
          • Code::Blocks
            Ответить
          • -
            Ответить
          • FAR, Midnight Commander, DOS Navigator.
            Ответить
            • vim
              Ответить
              • Emacs с уютным набором макросов на Лиспе.
                Ответить
                • Emacs должен быть после бабочек!cat, echo, tail, head и несколько скриптов на bash
                  Ответить
                • Как они запоминают шоткаты?!
                  Ответить
                  • Это только кажется, что сложно. Это другой тип памяти: моторная память, хоткеи не нужно держать в уме. В большинстве случаев я не помню какие именно кнопки нужно нажимать (только если это не что-то новое). Если это что-то, чем я давно пользуюсь, мне чтобы вспомнить какие кнопки за что отвечают, нужно клавиатуру и попробовать их нажать.

                    Кроме этого есть система, конвенции. Например, C-c C-c как правило что-то компилирует, или работает как подтверждение заполнения шаблона, в то время как C-c C-k - отмена процесса, если он где-то посередине сейчас. Часто локальны модификации будут использовать более запоминающуюся часть хоткея для того, чтобы реализовать более специализированую похожую функцию. Ну и мнемоника. В калькуляторе даже не зная какие кнопки какие функции вызывают, можно наугад с большой вероятностью посчитать именно то, что нужно.

                    Вот, на примере калькулятора:
                    Мнемоника:
                    V R - Vector Reduce
                    V B - Vector Build
                    U V - accUmulate Vector
                    Система: I V R - I - говорит о том, что следующая операция будет в обратную сторону (в нашем случае справа налево).
                    Умножение и прибавление - интуитивно понятны.

                    Участие V помогает запомнить команды которые часто используются вместе.

                    Пример, факториал:

                    1 V B 10 U V + V R *
                    получаем результат: 3628800
                    Ответить
                    • Всё интуитивно.

                      Сразу вспомнил, как я в сортире одного института РАН увидел распечатку инструкции, как пользоваться текстовым редактором для ЭВМ СМ, производившейся в Венгерской Советской Республике. Жалею, что не сохранил для истории.
                      Ответить
                      • Я когда маленьким был, нас на информатике зачем-то учили пользоваться редактором Lexicon. И поскольку тогда люди еще думали, что компьютерных програм много не будет, и что срок жизни у них будет достаточно большой, чтобы выучив одну программу, человек мог быть специалистом до пенсии, Лексиконом учили пользоваться примерно так же, как машинисток учили бы печатать.
                        В этом смысле Эмакс очень похож. Т.е. им нужно научиться пользоваться, как, например, нужно научиться пользоваться токарным станком, чтобы за ним работать, не достаточно просто знать какой резец и на какой скорости нужно к заготовке подвести, нужна моторная память.
                        Более современные редакторы даже не надеятся на долгую жизнь, и на то, что кто-то будет в них вкладывать достаточно усилий для того, чтобы стать специалистом. Фактически, они делаются сразу навыброс. Поэтому и разница такая.
                        Ответить
                  • Ну и кроме этого, до справки гораздо быстрее можно добраться. Например, если я не могу вспомнить хоткей:
                    C-h b C-s <предположительно часть имени команды>
                    Если я помню с чего начинается, но не помню какие дальше возможности: нажать ?, и в минибуффере будет подсказка.
                    Если я вообще не помню, где находится нужная функция: либо C-h a <предоположительно часть имени функции>, либо M-: <часть имени функции> TAB.

                    По сравнению с тем же клипсом, где нужно открывать модальное окно со справкой, где ни поиска нормального нет, ни скопировать в/из него текст нельзя.

                    И перенастроить очень легко. Кроме этого есть всякие ido-mode / helm, которыми я не пользуюсь, но говорят, они облегчают жизнь, особенно казуальным пользователям, в смысле поиска / автоподстановки.
                    Ответить
                  • Шорткатов много, всех не запомнишь.
                    Есть возможность вызывать команды по имени, почти как во всяких сублимтекстах (даже с нечётким поиском). При этом при вызове команды появляется подсказка с шорткатом (если он есть).
                    Ответить
                    • "Шорткатов много, всех не запомнишь..."
                      У этой фразы есть и иная трактовка.
                      Роман Кашицын, Вам никто не говорил, что Вы - философ?
                      Ответить
    • где здесь Ц крест крест, hdkeeper?
      Ответить
    • Не мог устоять, чтобы не въебать минус сему посту, но тут меня постигла неудача: оказывается, минус я уже въебал ранее.
      Ответить
      • > "въебать минус"
        Как смел ты, смертное ничтожество, использовать в устах своих постылых сей знаменитый перл, достойный лучших компренед! Порвал ты честь свою в мельчайшие куски! Теперь иди - и самоумертвись об угол занавески!
        Ответить

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