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

    −119

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
    .....
    ГДЕ
    .....
    И ОсновныеНачисления.Авторасчет = Истина
    И ОсновныеНачисления.Авторасчет = Ложь"

    Выбрать обязательно различные! :)

    Запостил: mrbus, 29 Мая 2012

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

    • любой код на русском 1c выглядит как говнокод
      Ответить
      • What you said just now is govnocode?
        Это язык запросов, и он является надмножеством (!!!) SQL (SELECT). Не понимаю, при вашем отвращении к русскому языку вы зачем свои посты на английском пишете.
        Ответить
        • Ой-ли надмножеством?
          Английский технический - язык общемировой. Для русского потребителя only (или, скажем, для оборонки) допускается и национальный. До сих пор полагаю, что разработчки 1-ass сильно налажали с перегоном бейсика через промт. Мотивирую вкратце.
          1) Переключение раскладки.
          2) В русском языке средняя длина слов больше. (См. If -> Если, Distinct -> РАЗЛИЧНЫЕ и пр.)
          3) Никакой практической пользы от кодирования на национальном языке нет. Как уже выясняли, Перем ЧислоВорон не сильно лучше var ChisloVoron.
          Ответить
          • Первый пункт работает ПРОТИВ вас.
            Приложения в первую очередь пишутся под русскоязычного пользователя, поэтому НЕ ВОЗНИКАЕТ необходимости переключать раскладку, когда нужно набрать строковую константу на русском.
            MessageBox(NULL, TEXT("Бухгалтерам тут не место"), TEXT("Сообщение"), MB_OK | MB_ICONSTOP) - вот тут переключать придётся. Дважды.
            Третий пункт сильно сомнительный. Если вы только не считаете, что английский язык чем-то принципиально выделен от остальных и является, как говорят в физике, выделенной системой отсчета. Так что я вам могу парировать тем, что "var ChisloVoron ничем не лучше, чем Перем ЧислоВорон". Они равноправны, за исключением того, что ChisloVoron - голимый транслит. И если кодер не знает онглицкого, нафига ему это вообще. А ведь приходится учитывать, что твой код будут читать, пытаться понять и даже доработать другие. (Тот факт, что "другие" - быдлокодеры, для которых C++ похож на какой-то крутой разрекламированный витамин С, и русский-то знающие лишь наполовину, не доставляет удовольствия, но с этим приходится считаться :)).
            Ну, со вторым пунктом согласен. По ходу, это единственный минус, и не особо серьёзный.
            К тому же, я хотя с английским не в самых плохих отношениях, предпочитаю не переключаться с "русского мышления" на английское и после "резервы по оценочным обязательствам" переключаться на "CrowdsCount".
            Так что под VisualStudio я пишу на аглицком (пожалуй, просто оттого, что большинство библиотек под него уже разработано на английском), а под 1С - на русском. (Хотя, как-то раз игрался с COM-объектами под 1С, интегрируя приложение с Excel, так там как раз 1С-овский код весь написал на аглицком, просто чтобы не переключать раскладку).
            Ответить
            • Нет, строковые константы набираются отлично, никто не спорит. В отличие от операторов типа < или > на которых раскладку и приходится менять.
              Ответить
              • Это да, не гуд. На них обычно ставят автозамену типа ББ<Enter>
                Ответить
            • > НЕ ВОЗНИКАЕТ необходимости переключать раскладку
              Тут отчасти согласен. Но тогда следовало бы продумать и не включать в язык те же апострофы.

              > чем-то принципиально выделен от остальных
              Это правда. На нём говорят/читают миллиарды людей, он является во все времена стандартным для компьютерной документации. Если бы когда-то ВНЕЗАПНО ЕС пошла на внешний рынок и всё там захватила, сейчас бы все вводили с консоли "справка" или "копировать".

              > будут читать, пытаться понять и даже доработать другие
              Код на 1-ass лучше никому не показывать.
              Ответить
              • > Это правда. На нём говорят/читают миллиарды людей
                1С никогда не позиционировалась как международная система. Она распространена в СНГ, где на русском говорят/читают сотни миллионов (практически всё население), и едва ли каждый сотый понимает английский.

                > является во все времена стандартным
                Все стандарты кодинга идут к тому, чтобы кодинг был полноценно международным - сейчас все компиляторы/трансляторы понимают исходники в UNICODE, многие языки понимают идентификаторы и имена не только на английском, взять те же C#, VisualBasic. В интернете и XML развитие идет примерно в том же направлении.

                > Код на 1-ass лучше никому не показывать.
                Вся ваша речь только к этому и шла, но этого вы не обосновали. По-моему, у вас просто предрассудок, чисто расовая ненависть к русскоязычному кодингу. Мне этого не понять, у меня проблем с этим никогда не было, но был у меня один товарищ с таким же отвращением.
                За сим спешу откланяться...
                Ответить
                • Ответить
                • > и едва ли каждый сотый понимает английский
                  Это аргумент не против английского языка.

                  > понимают идентификаторы и имена
                  Но не операторы. Маразма получается больше, да.

                  > Вся ваша речь только к этому и шла, но этого вы не обосновали. По-моему, у вас просто предрассудок, чисто расовая ненависть к русскоязычному кодингу
                  Не к кодингу - к коду. Как показывает практика, кодерки под платформу крайне слабоватые, и ситуация сохраняется в самой фирме, ибо на некоторые куски стандартных конфигураций без слёз не глянешь.
                  Что же творят "самородки" на местах, которые не знают не только английского (да и русский с трудом), но и структур данных, алгоритмов, ... - ни в какие ворота не лезет. Написали что-то на коленке - работает и хрен с ним, а потом удивляются, что при таких же объёмах обработка чисто SQL-ной базы не просто на порядок быстрее, а конфа тупит далеко не на самых слоупоучных машинах.
                  В этом и есть основная суть "претензий".
                  Я не говорю, что вот эти три аргумента единственные - это то, что в голову пришло сразу.
                  Что касается языка запросов. В 1-assql меня больше всего умиляла конструкция, кажется ЕСТЬNULL. Вот это - промт головного моска (если он есть).
                  Недаром говорят, куда вымощена дорога благими намерениями. Хотели как лучше для роиссоязычных, а получился свой PHP.
                  Ответить
                  • > Не к кодингу - к коду. Как показывает практика, кодерки под платформу крайне слабоватые
                    > Что же творят "самородки" - ни в какие ворота не лезет
                    > В этом и есть основная суть "претензий"
                    Ну, вот это другое дело.
                    Ответить
                • > Все стандарты кодинга идут к тому, чтобы кодинг был полноценно международным - сейчас все компиляторы/трансляторы понимают исходники в UNICODE
                  На самом деле разрешение юникода в идентификаторах только разобщит кодеров, и скорее всего подорвет опенсорс. Вот вам бы хотелось работать с кодом на китайском?

                  История вавилонской башни повторяется ;)

                  P.S. Код для отдельно взятой страны - пускай будет на русском. Все равно 1ска в других странах неприменима из-за другого законодательства.
                  Ответить
              • Не переключаю раскладку никогда (у меня она вообще всего одна). Если нужно писать по-русски: либо translit.ru (если не дома), или
                C-X <RET> C-\cyrylic-translit
                Ответить
                • На мой шовинистский взгляд, транслит не нужен, поскольку являет собой перевод множества с меньшей мощностью в множество с большей.
                  Ответить
                  • А чем это мне поможет выучить десятипальцевый слепой набор на русском? Мне не жалко набить пару лишних символов, лишь бы не переучивать где какие кнопки находятся.
                    Ответить
                    • Один мой хороший друг просто настроил транслитную раскладку, потом таки выучил русскую раскладку. Я не люблю пути наименьшего сопротивления, потому выучил сразу обе. Благо, практики много.
                      Ответить
                      • +1
                        по-моему повседневное трещание в аськах и прочих говнокодах на русском языке в русской раскладке неизбежно приводит к слепому набору на нем
                        несмотря на то, что ты можешь быть программистом на С, даже все комментарии пишущий только на английском
                        но транслит имеет смысл для совсем неместных - например, когда клавы с русской раскладкой и не было никогда, а русский язык знаешь - чем не вариант
                        Ответить
                        • > транслит имеет смысл для совсем неместных
                          В точку, коллеги из Риги и Вильнюса общаются с нами именно транслитом
                          Ответить
                          • не надо, я тоже из Вильнюса (был)
                            Ответить
                          • ЛПП, это отмазка
                            в прибалтике купить русские кнопки не сложнее, чем чухонские
                            Ответить
                      • Ну и зачем? Я за свою жизнь столько всякой никому не нужно фигни выучил. Не хватает только еще дополнительные расклади запоминать.
                        И опять же, если бы сильно хотелось, то есть C-X <RET> C-\russian-typewriter (ЙЦУКЕН) или russian-computer и еще с десяток похожих.
                        Ответить
                        • Ну да, умение писать императивный код на CL гораздо важнее способности набирать текст на родном языке вслепую...
                          Ответить
                          • Так а он мне вообще и не родной... и, да, мне гораздо важнее уметь набирать код, чем писать низкопробную художественную литературу на иностранных языках :)
                            Я в России всего два раза был, когда мне было 7 и 12 лет, и в общей сложности не больше месяца.
                            Ответить
                            • > он мне вообще и не родной
                              это многое меняет
                              > мне гораздо важнее уметь набирать код
                              ну, слепой набор на английском MUST HAVE, это и не обсуждалось.
                              Ответить
                      • ЗЫ. Я бы умер от депрессии, если бы наклеил какие-нибудь ярлычки на 7G клаву.
                        Ответить
                        • о чем думают производители
                          то основной шифт короткий, то бекспейс
                          Ответить
                          • У меня с коротким бекспейсом :( Но к этому можно привыкнуть. В остальном зато... пока что мне лучше ничего не попадалось.
                            Ответить
                      • кстати, я тоже обучался компописьму этим путем
                        Ответить
                    • Поскольку у меня такого вопроса не появлялось никогда, то не имею ничего против набивки хоть азбукой Морзе.
                      Ответить
                      • .--/..../-.-- -.../..-/- ---/..-. -.-./---/..-/.-./.../. .. -.-./.-/-./--..-- .--/..../../.-.././--..-- .-/--./.-/../-./--..-- -./---/- ..../.-/...-/../-./--. -/--- .-././--/./--/-..././.-. .-/-./-.-- ---/..-. ..-./---/.-././../--./-. .-/.-../.--./..../.-/-..././-/...!
                        Ответить
                      • ¡uʍop ǝpısdn ʇı ʇuıɹd plnoʍ ʇı uǝɥʇ puɐ pɹɐoqʎǝʞ ɹnoʎ ǝʇɐʇoɹ oʇ ǝlqıssod oslɐ sı ʇı 'ɥɔıɥʍ ɟo ƃuıʞıʞɐǝds 'sǝpısǝq
                        Ответить
    • Весьма похоже, что и выбирать-то особо нечего.
      Ответить
    • Ну правильно, выбрать и те, и другие. Что-то не так?
      Ответить
      • Да так, не дает спать Джорджу Булю.
        Ответить
      • Ага, выбрать записи, в которых авторасчет одновременно и истина, и ложь
        Ответить
    • Гениальный запрос. Комп будет старательно отбирать Различные, а потом старательно фильтровать результаты так, что в итоге вечно будет пустой результат запроса
      Ответить
      • Ох, подозреваю я, что планировщик вырулит из этой ситуации еще при анализе "where clause". Вырулит, и просто забьет на исполнение такого запроса. Не?
        Ответить
        • mysql, к примеру, даже для (field="bla" and field="foo") в explain'e выводит "impossible where". А тут ситуация даже проще. Должен вырулить.
          Ответить
    • Это вы еще ПЕРВЫЕ 1 РАЗЛИЧНЫЕ редко встречали...
      Ответить

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