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

    −134

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    с = 0;
    Для Каждого стчТовары Из ЗаказНаряд.Товары Цикл
    	нстчТовары = НоваяНалоговая.Товары.Добавить();
    	нстчТовары.Номенклатура = ЗаказНаряд.Товары[с].Номенклатура;
    	нстчТовары.Количество = ЗаказНаряд.Товары[с].Количество;
    	нстчТовары.Цена = ЗаказНаряд.Товары[с].Цена; 
    	...
    	нстчТовары.СуммаВсего = ЗаказНаряд.Товары[с].СуммаВсего;
    	с = с + 1;
    КонецЦикла;

    Ни шагу без счетчика! Особенно в итераторе. =)

    Запостил: zfilin, 16 Января 2012

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

    • > Товары-с
      А 1С-то оказывается, язык для интеллигентов!
      Ответить
    • Как всё в восьмёрке няшно-то. ^^ Прямо хоть переходи.
      Ответить
    • 7.7головного мозга?
      Ответить
    • Там ещё и ошибка - "с" должна начинаться с единицы. а Вообще

      А вобще, этот быдлокодер кодит на 1С как на импирическом языке. 1С не совсем импирический, поэтому всякие говнокодеры, пришедшие из с, паскаляи прочее, и создают1С такую репутацию.
      Правильно должно быть так. Одна, блять, _ОДНА_ строчка!!

      НоваяНалоговая.Товары.Загрузить( ЗаказНаряд.Товары.Выгрузить() );

      говнокодерыбля.
      Ответить
      • Имперический = императивный.
        Ответить
      • А какой он, если не импирический?
        Ответить
        • фукцианальный
          Ответить
          • Я так и знал.
            1С - илитарный небыдлоязык выходит.
            Ответить
          • не императивный - много механизмов решается не как в императивных языках путём последовательных инструкций, а используя механизмы платформы. А большинство быдлокодеров (ну или просто прогеров которые пришли с Си паскаля и пр.) мыслят именно в этой идеологии. Ну и не функциональный, всё таки объектная модель яебу. Но и не ООП тоже какбэ.
            Ответить
      • Ну, вообще, там в реальном коде при перегрузке есть еще кое-какие трансформации, так что цикл может быть и обоснован, но поскольку из примера этого не видно, то полностью поддерживаю. ОДНА строчка.
        Ответить
        • Ну тогда так:

          ...
          ЗаполнитьЗначенияСвойств(нстчТовары, ЗаказНаряд.Товары[нстчТовары.НомерСтроки]);
          <далее нужные преобразования>
          ...

          Опять же одна строчка, ну кроме цикла
          Ответить
      • А вы, простите, из тех неговнокодеров, которые не на паскалях с сями учились? Т.е. профильного образования программиста у вас нет?
        1С - это чисто императивный язык. В платформе 1С есть декларативные возможности, тот же язык запросов, например. Но сам язык 1С 100% соответствует парадигме императивного программирования. НоваяНалоговая.Товары.Загрузить( ЗаказНаряд.Товары.Выгрузить() ); тоже вполне императивно.
        Ответить
        • Да, понтов много, а в определениях путается.
          Ответить
          • ога, а тут только срать могут (говнокод хуле), а конструктива - хуй
            Ответить
            • Не могу удержаться, чтобы не ракануть.
              На словах ты хуй простой, а на деле хуй простой. Император, блджад.
              Ответить
        • сравни что в топике, и что я написал одной строкой. Неопытный программист не зная возможностей платформы пытается решить задачу "в лоб", в данном случае циклом, чтобы одну табличную часть документа скопировать в другую. Платформа эту возможность предоставляет сама по себе. Там это "зашито".
          Ответить
          • Это никак не нарушает императивность. Это просто стандартная императивная функция, не более того.
            Ответить
        • Не имел ввиду, что говнокодеры это те кто паскаль, си и т.д. Я имел ввиду, что когда они переходятв 1С, то и пытаются свои знания натянуть на новую идеологию. И получаются из них какраз говнокодеры, и кодят они говнокод. Сам таким был. И с дельфи перешёл на 1С после 9-ти летнего стажа.
          Ответить
          • Не вижу связи между знанием Pascal/С и незнанием стандартной библиотеки. Далеко не все программисты на Pascal/C занимаются велосипедостроительством (хотя скудная стандартная библиотека к этому и располагает).
            Ответить
            • Дык в том то и дело, что в паскале и пр, это библиотеки. А 1С, это платформа. В паскале ты можешь заглянуть в библиотеку и посмотреть что да как, в 1С ты этого не сделаешь. Там эти методы предоставляет сама платформа. О чём и толкую.
              Можно императивно через инструкции в цикле, а можно средствами платформы.
              В классы в паскале си так или иначе разворачиваются до всё более примитивных конструкций. Поэтому оно императивное. В 1с метод .Выгрузить() никуда не разворачивается. Он в нутрях платформы. Так о том и толкую.
              Ответить
              • Сокрытая реализация не делает этот код ни декларативным, ни функциональным. Выгрузить() всё равно должна возвращать что-то типа ResultSet. В java программисты часто работают с интерфейсами, не зная реализации. Это ровным счётом ничего не значит.
                Ответить
            • О чём спор то. Я о том, что незнание инструмента и порождает вот такой уёбищный код, как в топике.
              Ответить
      • >1С не совсем импирический, поэтому всякие говнокодеры, пришедшие из с, паскаляи прочее, и создают1С такую репутацию.
        Всёпраильно говоришь. Тоже касаиться PHP. Говнокодеры функцианальные с хаскилов набигают и создают репутацию.
        Ответить
        • кстате да, пхп тож дескать "язык для говнокодеров". ибо порог вхождения минимальный.
          Ответить
        • Уходят со своих питонов, джав, лиспов и прологов и начинают на православном пыхе говнокодить - ну :(
          Ответить
    • use заполнитьзначениясвойств, Luke!
      Ответить
    • показать все, что скрытоvanished
      Ответить

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