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

    −171

    1. 1
    КоличествоСтрокТоваров  = Документы.РеализацияТоваровУслуг.ПолучитьСсылку(ЭтотОбъект.Ссылка.УникальныйИдентификатор()).Товары.Количество();

    программист-снайпер, убивает одной строкой кода.

    Запостил: BlackMamba, 19 Июня 2013

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

    • в упор смысл кода не пойму...
      почему не просто КоличествоСтрокТоваров = Товары.Количество(); ???
      Ответить
      • Тогда уж так:
        КоличествоСтрокТоваров = ЭтотОбъект.Товары.Количество();
        Ответить
        • Совсем не обязательно. Мы и так в контексте объекта.
          Ответить
          • совсем не обязательно. если это УФ, то этотОбъект может быть переменной, обяъвленной кодером. например:
            этотОбъект = РеквизитФормыВЗначение("Объект");
            Ответить
            • ну и что ты ему отвечаешь? Он умер давно!
              Ответить
      • Посимвольная оплата.
        Ответить
      • по задаче нужно было получить количество строк в базе и сравнить с количеством строк в текущей версии объекта.
        Ответить
        • Тогда так (если документ ещё не записан) :
          КоличествоСтрокТоваров = Ссылка.Товары.Количество();
          Ответить
    • Это в 1C так this/self спромтили:
      ЭтотОбъект

      ?
      Ответить
    • > ЭтотОбъект
      СсылкаНаЭтотОбъект
      Ответить
    • показать все, что скрыто1С - самый быдлокодерский язык, хотя сложно так сказать. VB, Delphi, 1С, PHP, Java - все эти языки плодят дебилов, хотя к этому списку можно добавить Python, так как время необходимое на его освоение наверное самое маленькое из всех языков
      Ответить
      • Фитон гораздо коварнее явы и других строгих языков, можно сделать гораздо больше вещей, которые делать не стоит.
        Ответить
      • Справедливо.
        Нужно разрешить использовать только те языки, которые изучаются месяц минимум, только по лицензии, с государственным экзаменом и практикой вождения с инспектором ГИБДД, после чего выдаются удостоверения с категорией.
        Ответить
        • Удостоверение о принадлежности к илите?
          Ответить
          • Да причем тут илита. Того же электрика без книжечки с зачетом никто к работе не допустит. Продавца без санкнижки. Водителя без прав...
            Ответить
        • Я пару лет назад зарегил себе домен в зоне .pro. Щас у них появились требования - покажи государственную аккредитацию, что ты профессионал в чем-то. И 1С-овские 4 сертификата специалиста их по ходу не устраивают, нужна государственная фигня какая-нибудь, типа лицензия врача. Похоже, домен у меня на днях отнимут. Так что реально в рашке нужно вводить ГОС. аккредитацию на кодера :)
          Ответить
      • Ты сильно заблуждаешься друк, ибо питон не так прост как кажется, и не стоит верить в россказни будты ты его освоишь быстрее других языков.
        Ответить
        • Поверь, после нескольких лет работы с крестами, питон прост. Сам язык примитивен. Большинство либ не навороченные. Тонкостей относительно тех же крестов почти нет ;)

          А для новичка любой язык сложен.
          Ответить
          • истинно так. помню когда то паскаль изучал с большим трудом. А сейчас руби идет влет
            Ответить
          • Питон прост, если на нем писать си, ну или си с классами. А вот возникающие косяки могут довести до умопомрачения. Плюс очень хуево работающие автодополнение и статический анализ. Про кресты не скажу.
            Ответить
            • Бля, поскажите форумы по питону. Винград, сырцы и питон.ссу не предлагать, первые 2 мертвы, третий я знаю... не с самой лучшей стороны.
              Ответить
            • > Питон прост, если на нем писать си, ну или си с классами.
              Ну еще в умеренных пределах ФЯП, декораторы. А что еще надо для счастья? В конце концов питон не жаба, чтобы на нем пилить энтерпрайз решения с сотнями строителей фабрик. А простые питон-стайл решения они по большинству и есть си-с-классами-и-исключениями, посмотри на те же стандартные либы.

              Вот довольно противно, что их две версии, местами противоречащие друг другу. Но новичку, имхо, вторая версия не обязательна. Можно сразу начать с тройки.

              > автодополнение и статический анализ.
              Ну PyCharm, имхо, неплохо вытягивает. Насколько это вообще возможно для языка с такой типизацией. Кстати статический анализ крестов та еще жопа. Анализаторы для той же жабы на порядки проще, чем для крестов...
              Ответить
            • автодополнение крестов хуево работает только в емаксе, турбо-си и тотал коммандере
              Ответить
              • Вопрос к знатокам по поводу автодополнения. Чтобы оно работало, глупому компилятору нужно сказать, где искать хедеры и библиотеки. Этим занимается система сборки, которую хочется одинаково использовать и под линупсом и под вендой.
                Чтобы иде могла автодополнять, ей тоже нужны эти данные. Херня вопрос - коммитим файл проекта в vcs и поддерживаем вместе с основным файлом сборки. Внимание, вопрос: как соблюсти заветы DRY? В жабе для этих целей ввели pom, по которому иде генерят проектные файлы, а консолечка жарит жарники. В плюсах есть cmake и gyp. Оба - отстой, как и плеяда их заменителей. А чем пользуешься ты, %username%?
                Ответить
                • не знаю, чем пользуется %username%, лично мне для своих бывших кросс-платформенных проектов было не западло написать полнофункциональный парсер vcproj и собирать проект на линупсе автоматически - всего лишь введя доп. конфигурацию проекта с названием, например, Linux (ибо как ни крути, будут разные передаваемые имена внешних библиотек на разных платформах, а самим инструментом конфигурации в студии можно исключать из процесса сборки этой конфигурации ненужные cpp файлы, например)
                  собирал и исполняемые файлы, и so/dll, и a/lib
                  ибо лень вести вручную состав файлов для каждого проекта, когда это можно делать мышкой наглядно в дереве студии, равно как и опции компилера/линкера, и это все и так хранится в vc(x)proj
                  Ответить
                  • Разумно. Спасибо.
                    Ответить
                    • причем, для того, чтобы можно было не пересобирать целиком (актуально при плотной работе с линуксовым результатом, чтобы не ждать по 15 минут), а именно дособирать изменения и их зависимости, пришлось несколько поизвращаться
                      если есть желание подумать - оставлю этот пункт пока в виде загадки :)
                      Ответить
                      • > пришлось несколько поизвращаться
                        Заставлять компилятор вываливать список ашек по каждой единице компиляции?
                        Ответить
                      • Ну пока не совсем понятно, в чём сложность. Я бы подходил к вопросу так: коммитим топ-левел Makefile, который содержит правила сборки тулы-конвертора и инклюдит autogenerated.mk, у которого в пререквизитах студийный проект и тула:
                        include autogenerated.mk
                        
                        autogenerated.mk: MyProj.vcproj $(converter)
                            $(converter) -input $< -output $@
                        
                        # converter rules
                        Конвертор генерит правила сборки всех целей с классическими документированными хаками для генерации зависимостей. После чего одна команда make собирает конвертор, генерит инклюдник, далее мэйк видит, что один из инклюдов поменялся и сам рестартует, начинает видеть первые цели в нагенерённом файле и собирает проект. Измения в студийном проекте автоматически подхватываются.

                        Мне путь с разбором vcproj не подходит, но решение изящное. Нет желание выкатить в опенсорс?
                        Ответить
                        • нет, желания нет :)

                          собсно, возвращаясь к убогости емакса - пока не будет единственного и полного источника сведений о списке файлов проекта, со всеми путями и настройками, автодополнение нормально работать не будет
                          так что вместо зеленого плагина, парсящего vcproj, нужно искать плагин, берущий за основу и модифицирующий, например, jam, pro и прочие файлы от кросс-платформенной системы сборки - неужели такого нет? без кофе и голубей хотя бы
                          Ответить
                          • Меня не то чтобы сильно волнует автодополнение именно в емаксе. Vcproj у меня тоже нет. Хоть сколь-нибудь стандартного формата для описания структуры плюсовых проектов не существует. Парсить конфиги системы сборки - в любом случае ад. Борманд, добавь эту крестопроблему в свою книгу.
                            Ответить
                            • > формата для описания структуры плюсовых проектов
                              Ну .pro более-менее близко к описанию именно структуры, а не процесса. Правда в очень зачаточном виде - переменные SOURCES, HEADERS, FORMS и т.п. Шаг в сторону - расстрел ;)
                              Ответить
                          • > возвращаясь к убогости емакса

                            Говорит человек, который предмет разговора не то, что не знает, как использовать, а просто в глаза не видел.
                            Ответить
                  • > парсер vcproj
                    Там же обычный XML?
                    Ответить
                    • Да. Можно даже плагин для емакса написать, который будет разбирать проектные файлы студии
                      Ответить
                      • > разбирать проектные файлы студии
                        И редактировать их через интерфейс dired.
                        Ответить
                        • Проектные файлы... да? Это недоразумение называется MSBuild. Когда-то давно МС решили скопировать Ант, но у них очень плохо получилось. Но они не стали особо заморачиваться и улучшать, т.как хомячкам-пользователям студии все равно много не нужно, они под капот все равно никогда не заглянут. Поэтому "проектные файлы" - это фактически кастрированый Ант без конрибуторских библиотек, не кросплатформенный, с уебищным мини-дсл для батч-обработки. И его еще и сама студия форматирует, каждый раз, как открывает - это вообще выбешивает когда студийный хомяк-долбоеб просто открыв в студии проект и переименовав какой-то файл по-новой весь билд переформатирует (форматирование, кроме всего прочего включает раскрытие глобов в путях).
                          Ответить
                          • > студия форматирует
                            Там для своего кода можно создать отдельный файл и заинклудить в vcxproj. В этот файл студия своими грязными лапами не полезет.
                            Ответить
                          • >> Когда-то давно МС решили скопировать Ант

                            Это чушь. MSBuild не имеет отношения к анту.

                            >>но у них очень плохо получилось
                            У них получились файлы, которые одинаково хорошо работают и в IDE и в коммандной строке.

                            >>как хомячкам-пользователям студии все равно много не нужно
                            Это чушь. Пользователям студии как раз нужно уметь настраивать проект и в студии и в CI сервере.

                            >> Поэтому "проектные файлы" - это фактически кастрированый Ан
                            Это чушь. Ант там не причем.

                            Астрологи объявили неделю тупого пиздежа.
                            Популяция wvxvw увеличилась в 10 раз.
                            Ответить
                      • Есть такой, я пользовался, т.как студия тормозная и очень плохо работает с текстом, а мне нужно было исключительно для билд логов.
                        Ответить
                • > А чем пользуешься ты, %username%?
                  qmake. Он, конечно, говно, причем довольно узкоспециализированное говно...

                  Но зато оно умеет генерить проекты для визуалок, а не только обычный мейкфайл. А Qt Creator жрет .pro как есть, можно через его дерево проекта файлы добавлять, если не нужны особо хитровыебанные конфигурации с условиями. Заветы DRY соблюдены ;)
                  Ответить
              • > автодополнение крестов хуево работает только в емаксе, турбо-си и тотал коммандере
                Еще в code::blocks. Там оно лагает как говно.
                Ответить
      • может javaScript?
        Ответить
      • Дебилов плодят другие дебилы, а не ЯП.
        Ответить

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