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

    +109

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    BusinessLogic.Entity_InheritanceSetting.Save(
                        Session.SessionSettings.Settings.ContactID.Value,
                        Session.SessionSettings.Settings.SessionID.Value, copyID.Value,
                        true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
                        true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
                        true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
                        true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
                        true, true, true, true, true, true, true, true, true, true, true, true, true, true, true);

    Запостил: kore_sar, 30 Сентября 2013

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

    • BusinessLogic.Entity_InheritanceSetting.GodSaveMeFromMyself_ImBeggingYou(
                          Another.Day.Inlife,
                          Which.Way.WillIgo,
                          WillI.Pick.Suicide,
                          true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
                          true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
                          true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
                          true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
                          true, true, true, true, true, true, true, true, true, true, true, true, true, true, true);

      Готичный такой программист.
      Ответить
    • фортранщик штоле?
      Ответить
    • А если надо в 12 и 24 параметрах false, то курсорчиком отсчитывать нужно? :D
      Ответить
      • Поставить курсор в начало и нажать 11W и 23W соответственно. Кто юзает один из редакторов - тот поймет :3
        Ответить
        • Ну а если не в Виме, то M-11 M-d или M-23 M-d соответственно.
          Ответить
          • Убить 11 слов и 23 слова соответсвтенно? Зачем? Вим команды борманда задают переход, а не модификацию. Вероятно, нужен M-f. Кстати, в емаксе не хватает многих удобных команд из вима. Например, F/T для перехода к символу в строке.
            Ответить
            • досадная опечатака.

              Переход к символу в строке - я чуть поменял zap-to-char, чтобы она не копировала текст (это обычно бесполезно).
              Ответить
              • Я только не врубился, а если в Виме все кнопки -это команды, то как текст набирать? Или он не для этого?
                Ответить
                • В vi/vim есть поняние "режима". По умолчанию работает режим команд, где каждая буква - команда. Если нажимаешь i/I, a/A, вим переходит в режим вставки (внизу появляется надпись -- INSERT --), ESC возвращает в командный режим. v/Ctrl-v преводят в режим выделения текста (-- VISUAL --/-- VISUAL BLOCK --). ESC опять возвращает в командный.
                  Ответить
                  • Еще про : стоит упомянуть, которое включает командную строку, в которой можно писать всякие непотребства типа установки всяких переменных и вызова внешних софтин.
                    Ответить
                    • Да, : перебрасывает в режим команд древнего могучего редактора ed
                      Ответить
                  • Ну это не совсем объясняет, что происходит. Работая в Виме нужно стараться как можно реже попадать в режим набора текста, а лучше применять всякие макросы, команды и т.д. Т.е. для Вима характерно не писать, например, public static function, а использовать аббревиатуры и т.д.
                    Ответить
                  • ...в одном он бибикает, во втором всё портит. (q)
                    Ответить
                • да-да вим это вам не х--й собачий, перед тем как им пользоваться желательно мануал прочитать, я это к тому что без подготовки, вы в нем ничего не сделаете(((
                  Ответить
                  • > вы в нем ничего не сделаете
                    Даже выйти.
                    Ответить
                    • " Чтобы выйти из vi, нужно нажать «ESC (можно использовать Ctrl+[ или Ctrl+C) :q!». Все изменения будут утеряны. Или ESC и ZQ если не нужно сохранять или ZZ если нужно. Либо вообще в другой консоли набрать «kill −9 `ps -ef | awk '/vi/ {print $2}'`» или не ебать мозг и просто сказать «killall vi».
                      Это единственное, что нормальному человеку вообще стóит знать о vi. "

                      https://lurkmore.to/Vim
                      Ответить
                    • >> вы в нем ничего не сделаете
                      > Даже выйти.
                      Ctrl+Reset или Alt+Power для ноутбуков
                      Ответить
                      • выход всегда найдется, тута имелось ввиду работа с текстом - редактирование, форматирование.
                        Ответить
        • Полагаю, это делалось так:
          Ctrl-C Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V 
          Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V
          SHI-I-IT!
          Backspace Backspace Backspace Backspace
          Ответить
          • Кто-нибудь ещё пользуется Shift+Insert / Ctrl+Insert ?
            Ответить
        • Дык ведь "," за слово считается, придётся использовать циферки 22 и 46.
          Или есть какая-то настройка?
          Ответить
          • В Эмаксе не считается, но можно сделать, чтобы считалась.
            Ответить
          • W перепрыгнет ;) Я же не просто так ее написал капсом.
            Ответить
        • проще: курсор на первую строку с true, и `:,+5s/true//ng`
          Ответить
    • Winapi напомнило.
      Ответить
    • ИТТ все соснули у питонобогов и вообще у всех языков, где есть keyword аргументы.
      Ответить
      • причем тут keyword args?
        Они тут особо не помогут.
        Ответить
        • Ну как не помогут? true - это наверно дефолт аргументы, с keyword их можно было бы не указывать.
          Ответить
          • Да даже если не дефолт, то по крайней мере было бы видно куда что засунули. А не 50 безымянных true, среди которых хер найдешь какой за что отвечает. Плюсую.
            Ответить
            • На самом деле, в этом случае я бы заполнил структуру, но keyword args все равно лучше.
              Ответить
            • Насчет что куда - мб иде подскажет, но это все равно не то.
              Ответить
            • Я бы не стал так говорить если неизвестна задача.
              Ответить
              • Хоть оба способа и говно, но 50 кейворд аргументов наглядней, нежели 50 безликих true. Независимо от задачи ;)

                С кейвордами ты пишешь false в понятное место, всего лишь взглянув на ключ. С безликими true ты отсчитываешь нужное их количество заглянув в описание или двигаешь курсорчик до нужного параметра, глядя в подсказку ide.
                Ответить
            • Ну даже если на худой конец оставлять все как есть и сделать возможным более понятную запись можно словарь подать туда.
              Но это все равно полное говно.
              Тут проблема не в том, что нет каких-то keywords аргументов, а в том, что кто-то мозжечок не напрягает особо.
              Минусую.
              Ответить
              • > Но это все равно полное говно.
                Естественно ;)
                Ответить
      • >соснули у питонобогов и вообще у всех языков, где есть keyword аргументы.
        Ну да, воображения-то у нас нет
        obj.Save(Params.Defaults.ContractId(cid).SessionId(sid).CopyId(id));
        Ответить
        • Как-то не совсем то.

          Вот что мешает сделать keyword аргументы в статических языках? Чтобы они выглядели как аргументы, а не как хуй знает что.
          Ответить
          • В Scala есть. В Ocaml есть. В плюсы ещё лет 15 назад хотели воткнуть, но поняли, что 1) есть воркараунд, см. выше 2) Функции более чем с 2-3 разнородными аргументами - ГОВНО
            Ответить
            • >В Scala есть. В Ocaml есть
              Функциональное говно? Не, ну их глупо сравнивать - парадигма другая.

              А вёркараунд есть типичный КОСТЫЛЬ (что он и есть в переводе). Да, работает, но он не выразителен, не выглядит, как список аргументов с первого взгляда.
              Ответить
            • в сишарпу воткнули таки) правда, он не статический, да.
              Ответить
              • Что это такое, не посдскажет ли кто-нибудь?
                new EntityField { Name = "OrderMailSend", Value = true })
                Ответить
                • мне кажется, инициализация объекта с именованными полями) вероятно, сделано конструктором с необязательными параметрами
                  Ответить
                • Инициализация путем беспараметризованного конструктора, но с последующей инициализацией полей.
                  Ответить
                  • > полей
                    Только паблик полей? Свойства и приватные поля так нельзя присваивать?
                    Ответить
                    • В данном случае нужно было сказать свойств, но в конечном итоге свойства это набор методов, оперирующих с полями, так что я не стал исправлять.
                      И да, приватные члены так использовать нельзя.
                      Ответить
                  • Аналог в жаве?

                    new EntityField {{ Name = "OrderMailSend"; Value = true }}
                    Ответить
                    • В жабе нет аналога. Там иногда можно сделать анонимный подкласс (ты скобки круглые пропустил после имени класса), но это жуткий костыль и может много чего поломать.
                      Ответить
                      • http://ideone.com/4HhOzK
                        Ответить
                        • if (o.getClass() != Point.class)

                          А почему не instanceof? А, понял, чтобы показать, что "что-то не работает". Хотя по-моему бы и instanceof не спасло бы, даже если он проверяет на подклассы.

                          В общем-то да, абстракция подтекает.
                          Ответить
                          • Потому что
                            http://ideone.com/TShTlc
                            Ответить
                            • Бля, как жава глаза мозолит.
                              Ответить
                              • > а зачем super.equals
                                ну можно явно, конечно, проверки координат вставить, только это вообще ничего не изменит.
                                Ответить
                          • o instanceof ColoredPoint


                            Если ты уже решил сравнивать с Point, может проверять на Point и подклассы?

                            Кстати, нету никакого сокращения? Это же нарушение DRY.
                            if (o == null) return false;
                            if (o.getClass() != Point.class) return false;

                            Ответить
                            • Не считать потомков равными предкам - правильней, а лучше вообще сделать Point final и заменить наследование на аггрегацию.

                              Сокращения нет.
                              Ответить
                              • >Не считать потомков равными предкам - правильней
                                Ну с таким подходом - действительно, костыль. А вообще в питоне isinstance почему-то проверяет на принадлежность классу или подклассам и по этой же причине рекомендуется вместо проверок класса.
                                Ответить
                              • >Сокращения нет.
                                Какого-нибудь if (Util.notEquals(this, o)) return false; ? Код встречается в абсолютно каждом equals(). Ну, соснули :)
                                Ответить
                                • > в питоне isinstance почему-то проверяет
                                  В Java всё работает абсолютно также. Просто его не всегда разумно использовать в equals.

                                  > Какого-нибудь if (Util.notEquals(this, o))
                                  Ну если самому написать такой Util.hasClass(o, Point.class). А в целом семантику значения имеют не так уж много классов.
                                  Ответить
                                  • >Просто его не всегда разумно использовать в equals.
                                    Можно получить не коммутативный equals?

                                    >Ну если самому написать
                                    Риально удобно, риально подсебя? Вот уж за что жаву не люблю.
                                    Ответить
                    • Это синтаксический сахар, в Java такого может быть и нет.
                      В конце концов эта строчка в итоге превращается в:
                      EntityFiled field = new EntityField();
                      field.Name = "OrderMailSend";
                      field.Value = true;
                      Ответить
                      • Например, (хеш)меп, сделаный таким способом, для не-жавабляди не распознается с первого взгляда как хешмеп.
                        Ответить
                • И почему он не статический? Ошибки типов будут отловлены в статике.
                  Ответить
      • Питонобоги наплодили сущностей и радуются. В обсуждаемом здесь случае помогли бы битовые маски.
        MyCoolClass.DEFAULTS ^ MyCoolClass.ENABLE_TROLLING | MyCoolClass.ENABLE_X
        Ответить
        • >битовые маски.
          Эта хуевая калька с сишки? Почему бы не сделать их типизированными, как enum в яве?
          Ответить
          • С енумами в жабе так не сделаешь
            Ответить
          • > Почему бы не сделать их типизированными
            полезная идея, если можно будет писать:
            mask MyMask { PARAM1, PARAM2, PARAM3, PARAM4 }; // автоматический сдвиг
            MyMask m = new MyMask(PARAM1 + PARAM2 + PARAM4); // без MyMask.PARAM1, т.к. new MyMask(HisMask.HIS_VALUE_8) - питушня и название класса тут не нужно
            if (m has PARAM1 * PARAM2) { ... // умножение становится логическим
            if (m has PARAM1 + PARAM3) { ...

            P.S. ещё надо оператор наличия пересечения (+,|) и равенства (*,==,&) масок.
            Ответить
            • да-да, в паскале это сто лет уже как есть
              Ответить
              • Пишите комментарий: "ИТТ все соснули у паскалебогов"
                Ответить
            • Можно сделать свой класс и переопределить + и -. Или сразу взять set. Тогда надо на входе функции для верности проверить, чтобы не было чужеродных элементов.
              Ответить
          • это хуёвая калька с паскалевских множеств
            Ответить
            • А паскаль будет материться, если на вход функции подсунуть константу не оттуда?
              Ответить
              • set of A и set of B несовместимы, поэтому, конечно же, будет
                Ответить
                • Пример кода можно? А то я уже лет как 15 пасцаль не трогал.
                  Ответить
                  • http://ideone.com/7ZUNmB
                    Ответить
                    • Литералы массива к месту, да еще и проверкой типов в статике. Даже в жавке, пожалуй, такого нет. Так что получается, соснули.
                      Ответить
    • Китайский код - продолжение следует.
      Ответить
    • Всегда говори "ДА"!:)
      Ответить
    • http://msdn.microsoft.com/ru-ru/library/dd264739.aspx
      Ответить

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