Почерк мастера 1С
Как легко выявить нуба 1С?
Посмотрите, как он оформляет запросы.
Вот это почерк подавана:
З = Новый Запрос(«ВЫБРАТЬ
| ПТУ.Номенклатура КАК Номенклатура,
| ПТУ.Характеристика КАК Характеристика,
| ПТУ.Упаковка КАК Упаковка,
| &ВидыЦен КАК ВидЦены,
| ПТУ.Цена КАК Цена
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ПТУ
|ГДЕ
| ПТУ.Ссылка = &ДокументОснование»);
А вот это уже рука мастера:
З = Новый Запрос(
«ВЫБРАТЬ
| ПТУ.Номенклатура КАК Номенклатура,
| ПТУ.Характеристика КАК Характеристика,
| ПТУ.Упаковка КАК Упаковка,
| &ВидыЦен КАК ВидЦены,
| ПТУ.Цена КАК Цена
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ПТУ
|ГДЕ
| ПТУ.Ссылка = &ДокументОснование»);
Почувствовали разницу? Каким бы ленивым не был гуру, в конце концов он приходит к хорошему стилю оформления кода, потому что это компактно, эффективно, легко для восприятия.
Если код оформлен не по общепринятым правилам это или нуб или слегка продвинутый в фазе бунтаря, который считает, что оформление не важно, а важен его гениальный код. Но это еще не гуру-профессионал.
Процедура ЗаполнитьЗаказы()
ТекстЗапроса =
«ВЫБРАТЬ
| ИнформацияОбОтгрузке.Заказ,
| ИСТИНА КАК Обработать,
| ИнформацияОбОтгрузке.Заказ.Контрагент КАК Контрагент,
| ИнформацияОбОтгрузке.Заказ.Комментарий КАК Комментарий,
| ИнформацияОбОтгрузке.Заказ.Номер КАК Номер,
| ВЫБОР
| КОГДА ИнформацияОбОтгрузке.Заказ В
| (ВЫБРАТЬ
| Документ.РеализацияТоваровУслуг.Товары.ЗаказПокупателя
| ИЗ
| Документ.РеализацияТоваровУслуг.Товары)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЕстьРеализация
|ИЗ
| РегистрСведений.ИнформацияОбОтгрузке КАК ИнформацияОбОтгрузке
|ГДЕ
| ИнформацияОбОтгрузке.Водитель = &Водитель
| И ИнформацияОбОтгрузке.Заказ.Статус В (&Статус1,&Статус2)
| И ИнформацияОбОтгрузке.Заказ.ДатаОтгрузки = &ДатаОтгрузки
|
|УПОРЯДОЧИТЬ ПО
| Контрагент,
| Номер
|АВТОУПОРЯДОЧИВАНИЕ»;
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр(«Водитель»,Водитель);
Запрос.УстановитьПараметр(«Статус1»,Перечисления.СтатусыЗаказа.Подбор);
Запрос.УстановитьПараметр(«Статус2»,Перечисления.СтатусыЗаказа.Отгружено);
Запрос.УстановитьПараметр(«ДатаОтгрузки»,ДатаОтгрузки);
Заказы.Загрузить(Запрос.Выполнить().Выгрузить());
КонецПроцедуры
Кроме индентации разницы не видно. Индентация — это фигня, дело привычки.
Код на 1С во всех вариантах выглядит не очень.
Ты ещё не дорос.
Скорей ты не вырос. Разницы с типичным SELECT X FROM Y WHERE Z не видно, а форматирование — дело вкуса.
В программировании как раз буквоедство важно. И форматирование — не вопрос вкуса, а вопрос эффективности. Эффективности восприятия и понимания кода.
Код, который болтается с левой границы в центр не понятно зачем, вызывает проблемы восприятия.
1. Вопрос эффективности кода — это скорость его работы. Индентация и стиль на это НЕ влияют, т.к компилятору пофиг на форматирование.
2. Эффективность восприятия и понимания кода человеком — вещь субьективная. Я имею много дело с open source-ом на разных языках и с совершенно разным подходом к форматированию. Пробелы никак не мешают пониманию.
Да и никто не мешает переформатировать код если что. Инструментов предостаточно. Все нормальные IDE имеют команды для автоформата кода.
Нужно заботиться о тех, кто займется твоим кодом после тебя
Я то думал: главное эффективность кода за минимальное время и довольный клиент, а оказывается, чтобы КРАСИВЕНЬКО все было)))) у меня стаж поменьше, лет 17 и 14 из них фриланс(ип открыл) и уж точно мне не платят за красивые буковки.
Когда приходится часто сопровождать чужой код, тогда приходит понимание, что надо писать максимально стандартно, чтобы другой человек понял.
Потому что не все этим заморачиваются, а в итоге приходится работать с «шедеврами мысли».
Без личной отсебятины.
А линтеры для кого придумали, гений?
это что такое?