1. C# / Говнокод #3338

    +126

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public partial class Form1 : Form
        {
            string str;
            int количество;
            public Form1(string str, int количество)
            {
                InitializeComponent();
                str = this.str;
                количество = this.количество;
            }

    Классный конструктор, ничего не скажешь.
    А потом сидишь и удивляешься, почему же у тебя пустая строка и количество не прописалось...

    Запостил: alexanika, 28 Мая 2010

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

    • Русские названия у переменных - Фи...
      Ответить
      • Экаи вы, додеезчеги мягонькие.. "Фи.." да за такое нужно ногами по яйцам и увольнять нахер без отпускных и зп за последний месяц =)
        Ответить
    • видимо кодер давно не спал и попутал где право а где лево
      Ответить
    • partial + русские буквы = авторпидар
      Ответить
      • partial нагенерила Visual Studio. а насчет русских буков согласен - это песдец( хотя, может аффтар раньше для 1С кодил?
        Ответить
      • ты даже не представляешь, насколько ты прав, о мой мужественный друг.
        автор вообще девушка : )
        Ответить
      • Э, а чё на partial наезжаем?? прикольная штука, позволяет написать генератор для одной части класса (очень шаблонной) а другую часть отдать на растерзание пользователю => пользовательская часть не будет затираться при регенерации. Щас вот переношу проект на Java, а там такой фишки нет, придётся реализовать через наследование - некошерно, потому что лишние классы в системе.
        Ответить
        • >partial
          Также полезно, чтобы отделять интерфейс от реализации. Конечно, для тех, кто это использует. Можно, ведь, просто написать интерфейс.
          Ответить
    • Никогда не понимал вот этот понт с поддержкой не-английских букв в исходниках. Ни удобства чтения (count воспринимается лучше), ни удобства написания. И вообще, русский язык не для компов :)
      Ответить
      • Спрл=СоздатьОбъект("Справочник.Обучение" );
        Если ФИО .Выбран()=1 Тогда
        Спрл.НайтиЭлемент(ФИО);
        Спрл.Возраст=Возраст;
        Спрл.Записать();
        КонецЕсли;
        Ответить
        • Ага, ага. Было дело, долго тупил, где ошибка в коде:
          Процедуре Рекалк()
          ...
          КонецПроцедуры
          :)) Не шутю
          Ответить
      • угу. английский. хорошо что не латынь :)
        Ответить
      • Понт как раз понятен. Если компилятор/интерпретатор работает с unicode (хотя-бы ради строковых литералов), то почему не использовать unicode в именах.
        Ответить
        • а зачем транслятор допускает не-анси в идентификаторах?
          Ответить
          • А зачем ему их не пропускать? Чем ansi лучше всего остального?
            Ответить
            • потому что это идентификаторы
              Ответить
              • Какая разница идентификатор это или нет?

                Понятно, почему в идентификаторе не может быть пробела, запятой и т.д., можно понять почему идентификатор не может быть равен ключевому слову, но почему он должен быть ограничен ansi? (кроме как из-за legacy)
                Ответить
                • он строже. ибо в юникод кол-во гуана увеличивается
                  Ответить
                  • Гуано и в ansi полно, называется оно транслит.

                    И примерчик. У нас есть Person, живет он в РФ и есть и у него ИНН. Что лучше читается
                    person.ИНН
                    person.INN
                    person.EEANAN
                    person.PTC (или PTPC, или PTPI, PTC)?
                    Ответить
                    • person.INN
                      person.PTC
                      Ответить
                    • person.INN
                      Где тут гуано?
                      Ответить
                      • Транслит. Зачем использовать транслит, когда есть unicode.
                        Ответить
                    • Вообще допустимо person.INN, но сокращение как-то нечитабельно, к тому же его смысл непонятен иностранцам. Лучше как-нибудь так person.TaxID.
                      http://forum.lingvo.ru/actualthread.aspx?tid=1931
                      Ответить
                      • Правильнее TIN - tax identificate number - это оф. название ИНН забугорское
                        Ответить
                    • INN - таверна. Тем не менее, у нас такое сокращение по всему бизнес-проекту, повбывав бы.
                      Ответить
            • Тем, что в анси (до 128 символа) нет разных символов, которые выглядят одинаково.
              Ответить
              • Кстати, да. Здесь вообще, похоже, путают ASCII и ANSI (cp1251, например).
                Ответить
                • а они различаются только непечатными символами, так что как ни назови...
                  я лично в ИДах имел ввиду след. регексп: /[A-Za-z_][A-Za-z_0-9]*/
                  думаю этих символов более чем хватает для ИДов
                  Ответить
    • Меня другое удивляет. Неужели радость от использования русских идентификаторов перекрывает необходимость постоянно дергать раскладку клавиатуры?
      Ну и вообще, почему тогда количество русскими а str английскими =)

      А по сабжу, бывает часто, когда мало спать и много работать :D
      Ответить
      • что бы не дергать, придуман 1С Битрикс - там все по-русски
        Ответить
        • Все равно значки типа & надо переключать. Конечно, это уже не так критично.

          Но это 1с, а тут ведь код сам на английском...
          Ответить
          • ну допустим мне часто нужна литовская раскладка, тож задалбывало, пока не узнал, что есть комбинации с alt
            Ответить
          • подюумал как бы выглядел русский с-подобный, пишу:

            "если(а"

            переключаю раскладку

            ">"

            переключаю раскладку

            ") тогда"


            пистец.
            Ответить
            • ">"
              Ты долбоёб. Неужели не можешь написать это, не переключая раскладку? Писец.
              Ответить
            • >переключаю раскладку
              Это только пишеться долго, а реально просто нажать 2 кнопки...
              Ответить
              • На самом деле ты задолбаешься эти 2 кнопки постоянно клацать. Единственное, что хоть немного облегчит твою участь - так это чтото типа пунто-свичера, там есть функция переключаения между языками по нажатию 1 кнопки (у меня например по правому ctrl)
                Ответить
                • нахуй. ты леньтяй
                  Ответить
                  • Ты хуй©
                    Ответить
                    • вот и побеседовали
                      Ответить
                      • :D
                        на самом деле, одна кнопка вместо двух реально экономит время. Посчитай, сколько раз за день языки переключаешь
                        Ответить
                        • особенно если эта кнопка не мешается, ну например Break - удобно мизинцем нажимать, и не надо "перепозиционировать" пальцы руки
                          Ответить
    • Вообще-то, пример демонстрировал не кодировку идентификаторов, а использование одинаковых названий переменных в классе и в методе.

      А кодировка - это вопрос религии. Основное правило рефакторинга гласит, что переменная должна быть автодокументирована. Использование национального языка обеспечивает идеальные условия выполнения данного правила.
      Ответить
      • > Использование национального языка обеспечивает идеальные условия выполнения данного правила.

        только если проект пишется одними русскими, что в адекватных проектах редкая вещь
        Ответить
      • одинаковые это как раз вопрос религии. Лично я так всегда и делаю - имена параметров сеттеров совпадают с именем поля

        а кодировка - все таки не религия, а секта. Как-то видел пхп-скрипт где ИДы японские -- ну прям обфускатора не надо... А говорите - религия.....
        Ответить
      • int count;
        int количество;

        Что документировано лучше? Да, для макаки, которая не выучила ни одного иностранного и пишет recicle, это, естественно, достоинство, можно называть переменные целоеКолвоСтрокРезЗапроса, только это, как бы сказать повежливее..
        Ответить
        • "Чей Бог более милосерден и справедлив? Иегова или Аллах? Конечно, для свиней, которые не в состоянии выучить ясного арабского языка, ответ будет очевиден". По-моему, это уже где-то было...
          Ответить
    • Для таких вещей существуют warnings, которые полезно хотя бы иногда просматривать. И FxCop который тоже таки полезно запускать.
      Ответить

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