Почерк мастера 1С

Как легко выявить нуба 1С?

Посмотрите, как он оформляет запросы.

Вот это почерк подавана:

  З = Новый Запрос(«ВЫБРАТЬ
                   | ПТУ.Номенклатура КАК Номенклатура,
                   | ПТУ.Характеристика КАК Характеристика,
                   | ПТУ.Упаковка КАК Упаковка,
                   | &ВидыЦен КАК ВидЦены,
                   | ПТУ.Цена КАК Цена
                   |ИЗ
                   | Документ.ПриобретениеТоваровУслуг.Товары КАК ПТУ
                   |ГДЕ
                   | ПТУ.Ссылка = &ДокументОснование»
);

А вот это уже рука мастера:

  З = Новый Запрос(
 
«ВЫБРАТЬ
  | ПТУ.Номенклатура КАК Номенклатура,
  | ПТУ.Характеристика КАК Характеристика,
  | ПТУ.Упаковка КАК Упаковка,
  | &ВидыЦен КАК ВидЦены,
  | ПТУ.Цена КАК Цена
  |ИЗ
  | Документ.ПриобретениеТоваровУслуг.Товары КАК ПТУ
  |ГДЕ
  | ПТУ.Ссылка = &ДокументОснование»
);

Почувствовали разницу? Каким бы ленивым не был гуру, в конце концов он приходит к хорошему стилю оформления кода, потому что это компактно, эффективно, легко для восприятия.

Если код оформлен не по общепринятым правилам это или нуб или слегка продвинутый в фазе бунтаря, который считает, что оформление не важно, а важен его гениальный код. Но это еще не гуру-профессионал.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментариев 11

  1. naf2000:

    Процедура ЗаполнитьЗаказы()

    ТекстЗапроса =
    «ВЫБРАТЬ
    | ИнформацияОбОтгрузке.Заказ,
    | ИСТИНА КАК Обработать,
    | ИнформацияОбОтгрузке.Заказ.Контрагент КАК Контрагент,
    | ИнформацияОбОтгрузке.Заказ.Комментарий КАК Комментарий,
    | ИнформацияОбОтгрузке.Заказ.Номер КАК Номер,
    | ВЫБОР
    | КОГДА ИнформацияОбОтгрузке.Заказ В
    | (ВЫБРАТЬ
    | Документ.РеализацияТоваровУслуг.Товары.ЗаказПокупателя
    | ИЗ
    | Документ.РеализацияТоваровУслуг.Товары)
    | ТОГДА ИСТИНА
    | ИНАЧЕ ЛОЖЬ
    | КОНЕЦ КАК ЕстьРеализация
    |ИЗ
    | РегистрСведений.ИнформацияОбОтгрузке КАК ИнформацияОбОтгрузке
    |ГДЕ
    | ИнформацияОбОтгрузке.Водитель = &Водитель
    | И ИнформацияОбОтгрузке.Заказ.Статус В (&Статус1,&Статус2)
    | И ИнформацияОбОтгрузке.Заказ.ДатаОтгрузки = &ДатаОтгрузки
    |
    |УПОРЯДОЧИТЬ ПО
    | Контрагент,
    | Номер
    |АВТОУПОРЯДОЧИВАНИЕ»;

    Запрос = Новый Запрос(ТекстЗапроса);
    Запрос.УстановитьПараметр(«Водитель»,Водитель);
    Запрос.УстановитьПараметр(«Статус1»,Перечисления.СтатусыЗаказа.Подбор);
    Запрос.УстановитьПараметр(«Статус2»,Перечисления.СтатусыЗаказа.Отгружено);
    Запрос.УстановитьПараметр(«ДатаОтгрузки»,ДатаОтгрузки);

    Заказы.Загрузить(Запрос.Выполнить().Выгрузить());

    КонецПроцедуры

  2. bob:

    Кроме индентации разницы не видно. Индентация — это фигня, дело привычки.
    Код на 1С во всех вариантах выглядит не очень.

    • Ты ещё не дорос.

      • bob:

        Скорей ты не вырос. Разницы с типичным SELECT X FROM Y WHERE Z не видно, а форматирование — дело вкуса.

        • В программировании как раз буквоедство важно. И форматирование — не вопрос вкуса, а вопрос эффективности. Эффективности восприятия и понимания кода.
          Код, который болтается с левой границы в центр не понятно зачем, вызывает проблемы восприятия.

          • bob:

            1. Вопрос эффективности кода — это скорость его работы. Индентация и стиль на это НЕ влияют, т.к компилятору пофиг на форматирование.

            2. Эффективность восприятия и понимания кода человеком — вещь субьективная. Я имею много дело с open source-ом на разных языках и с совершенно разным подходом к форматированию. Пробелы никак не мешают пониманию.
            Да и никто не мешает переформатировать код если что. Инструментов предостаточно. Все нормальные IDE имеют команды для автоформата кода.

          • Нужно заботиться о тех, кто займется твоим кодом после тебя

  3. Владимир:

    Я то думал: главное эффективность кода за минимальное время и довольный клиент, а оказывается, чтобы КРАСИВЕНЬКО все было)))) у меня стаж поменьше, лет 17 и 14 из них фриланс(ип открыл) и уж точно мне не платят за красивые буковки.

    • Когда приходится часто сопровождать чужой код, тогда приходит понимание, что надо писать максимально стандартно, чтобы другой человек понял.
      Потому что не все этим заморачиваются, а в итоге приходится работать с «шедеврами мысли».
      Без личной отсебятины.

  4. Fepafal:

    А линтеры для кого придумали, гений?

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *