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

    +164

    1. 1
    LONG bShutdownCounter;

    Существует много баталий на тему венгерской нотации, есть много за и много против, но это - просто шедевр :)

    Запостил: ryadovoy, 28 Июля 2010

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

    • Вот отрыл оригинальную версию сего шедевра:
      static int bShutdownCounter = 0;
      ...
      //где-то в теле функции
      ++bShutdownCounter;
      Ответить
    • венгерская нотация маст дай!!! Я тут недавно Symbian SDK смотрел и чуть ли не матерился на этот песец(((
      Ответить
      • есть разные мнения (см.Спольски "let the wrong code look wrong")
        Ответить
        • Мнение пидораса (в прямом смысле) из MS (в некроебском смысле) очень важно для нас.
          Ответить
          • спольски давно уже никакой не микрософтовец)
            я к нему не однозначно отношусь: иногда он пишет полную хуню, иногда -- умные вещи
            Ответить
            • не стоит обсуждать сексуальную ориентацию, мы здесь не для этого
              Ответить
      • всё зависит от того, как и где её применять:
        кривое применение -- убивает читабельность,
        а правильное -- напротив, улучшает;

        к примеру, если на Индексные переменные, Параметры функций или Поля структур использовать венгерскую нотацию -- это угробит читабельность;

        а если оную применять к каким-то стандартным классам (допустим визуальным) :
        txt_Input
        btn_Result

        и т.п. -- это может улучшить читабельность, а так же позволит легче найти нужную переменную, если пишешь в иде.

        зы: к тому же позволяет применять одинаковые имена к разным объектам, к примеру:
        lbl_Result -- для вывода результата
        btn_Result -- для получения результата
        Ответить
        • Я внезапно пишу resultButton и resultLabel
          И не жалуюс
          Зачем всё выворачивать наоборот и определяемое ставить вперёд
          Ответить
          • имхо: применение в виде префикса более приемлемо, для иде:
            - в списке используемых имён, чаще приходится искать по типу, нежели по имени
            (порою легче запомнить тип переменной и её предназначение, и выбрать из списка, нежели запомнить само имя переменной)

            но, это дело вкуса и привычки, и по этому такие попытки стандартизации не у всех вызывают восторг;
            Ответить
          • Потому что венгерку придумали тогда, когда ширина экрана ограничивалась 80ю символами, а на дискеты 360Кб влезал с треском каждый байт.

            Потому-то и экономили. В асме, знаете ли, вообще мнемоники из трех буков (JMP, MOV) -- не от хорошей жизни.
            Ответить
            • В асме длинные мнемоники не нужны - заколебешься набирать
              Ответить
        • Ну блин неймспейсы рулят - это раз.
          Второе - заточка именования под какие то выебоны определенных IDE это большая глупость.
          Ну и на последок, зачем выполнять работу за компилятор?
          Соглашения типа
          ДавайтеПисатьИменаКлассовТак, методыТак, временные_переменные_так, м_приватные_поля_класса_так
          гораздо удобнее и к этой ужасной Венгерской нотации отношения слава богу не имеют.
          Ответить
          • >неймспейсы рулят - это раз.
            ололо) неймспейсы рулят - супер шутка

            я смотрю вы тут отлично ракуете
            Ответить

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