|
Идеальный код на 1С | ☑ | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
0
1ctube
21.04.21
✎
12:45
|
Доброго времени суток. Вопрос такой, бывало ли у вас что открыв чужую конфигурацию и оценив код, то вы увидели идеальный код или гениальное решение, которое заставило вас сказать/подумать "Это прекрасно" или "гениально". Даже слезу пустить от красоты решения
|
||||||||||
2
DrZombi
гуру
21.04.21
✎
12:50
|
Было и не раз. И гениальность до такой стороны сложна и проста, что обычные кодеры ее не замечают, и сторонятся. Их речи "Много буковок кода, не осилил" :)
Бывало |
||||||||||
3
dvpk
21.04.21
✎
12:52
|
(0) Идеальность кода вопрос достаточно эфемерный. Слишком много критериев оценки. Вообще, грамотные решения часто можно наблюдать в типовых(из вариантов опроса почему-то следует, что в типовых его меньше). А вот как раз от кастомных обработок и модулей иногда становилось плохо.
Бывало |
||||||||||
5
CHerypga
21.04.21
✎
12:54
|
в типовом зупе 2.5 в лицевые счета работников организации добавлен основной лицевой счет и нижеследующий код в перед записью модуля набора записей для обеспечения возможности устанавливать только один основной лицевой счет по физлицу
ТаблицаНабораЗаписей = ЭтотОбъект.Выгрузить(); ОтборОсновнойЗарплатныйПроект= Новый Структура; ОтборОсновнойЗарплатныйПроект.Вставить("ОсновнойЗарплатныйПроект", Истина); МассивСтрокНабораЗаписей = ТаблицаНабораЗаписей.НайтиСтроки(ОтборОсновнойЗарплатныйПроект); Если МассивСтрокНабораЗаписей.Количество() = 0 Тогда Возврат; КонецЕсли; СписокФизЛицНабора = Новый СписокЗначений; Для каждого СтрокаНабораЗаписей Из МассивСтрокНабораЗаписей Цикл Если Не СписокФизЛицНабора.НайтиПоЗначению(СтрокаНабораЗаписей.ФизЛицо) = Неопределено Тогда СтрокаНабораЗаписей.ОсновнойЗарплатныйПроект = Ложь; Продолжить; КонецЕсли; СписокФизЛицНабора.Добавить(СтрокаНабораЗаписей.ФизЛицо); КонецЦикла; ЭтотОбъект.Загрузить(ТаблицаНабораЗаписей); УстановленОтборНабораЗаписей = Ложь; Для каждого ЭлементОтбора Из Отбор Цикл Если ЭлементОтбора.Использование Тогда УстановленОтборНабораЗаписей = Истина; КонецЕсли; КонецЦикла; Если Не УстановленОтборНабораЗаписей Тогда Возврат; КонецЕсли; ПостроительЗапроса = Новый ПостроительЗапроса; ПостроительЗапроса.Текст = "ВЫБРАТЬ | ЛицевыеСчетаРаботниковОрганизации.Организация, | ЛицевыеСчетаРаботниковОрганизации.Банк, | ЛицевыеСчетаРаботниковОрганизации.ФизЛицо |ПОМЕСТИТЬ ВТ_ЛицевыеСчетаСОтборомНабораЗаписей |ИЗ | РегистрСведений.ЛицевыеСчетаРаботниковОрганизации КАК ЛицевыеСчетаРаботниковОрганизации |ГДЕ | ЛицевыеСчетаРаботниковОрганизации.ФизЛицо В(&СписокФизЛиц) | И ЛицевыеСчетаРаботниковОрганизации.ОсновнойЗарплатныйПроект"; ПостроительЗапроса.ЗаполнитьНастройки(); СтруктураОтбора = ПолучитьСтруктуруОтбора(Отбор); ЗаполнитьОтборИзСтруктуры(ПостроительЗапроса.Отбор, СтруктураОтбора); ЗапросСОтборомНабораЗаписей = ПостроительЗапроса.ПолучитьЗапрос(); ЗапросСОтборомНабораЗаписей.УстановитьПараметр("СписокФизЛиц", СписокФизЛицНабора); ЗапросСОтборомНабораЗаписей.Текст = ЗапросСОтборомНабораЗаписей.Текст+ "; |ВЫБРАТЬ | ЛицевыеСчетаРаботниковОрганизации.Организация, | ЛицевыеСчетаРаботниковОрганизации.Банк, | ЛицевыеСчетаРаботниковОрганизации.ФизЛицо |ИЗ | РегистрСведений.ЛицевыеСчетаРаботниковОрганизации КАК ЛицевыеСчетаРаботниковОрганизации | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЛицевыеСчетаСОтборомНабораЗаписей КАК ВТ_ЛицевыеСчетаСОтборомНабораЗаписей | ПО ЛицевыеСчетаРаботниковОрганизации.Организация = ВТ_ЛицевыеСчетаСОтборомНабораЗаписей.Организация | И ЛицевыеСчетаРаботниковОрганизации.Банк = ВТ_ЛицевыеСчетаСОтборомНабораЗаписей.Банк | И ЛицевыеСчетаРаботниковОрганизации.ФизЛицо = ВТ_ЛицевыеСчетаСОтборомНабораЗаписей.ФизЛицо |ГДЕ | ЛицевыеСчетаРаботниковОрганизации.ФизЛицо В (&СписокФизЛиц) | И ЛицевыеСчетаРаботниковОрганизации.ОсновнойЗарплатныйПроект | И ВТ_ЛицевыеСчетаСОтборомНабораЗаписей.ФизЛицо ЕСТЬ NULL"; Выборка = ЗапросСОтборомНабораЗаписей.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НаборЗаписейОсновнойЛожь = РегистрыСведений.ЛицевыеСчетаРаботниковОрганизации.СоздатьНаборЗаписей(); НаборЗаписейОсновнойЛожь.Отбор.Организация.Установить(Выборка.Организация); НаборЗаписейОсновнойЛожь.Отбор.Банк.Установить(Выборка.Банк); НаборЗаписейОсновнойЛожь.Отбор.ФизЛицо.Установить(Выборка.ФизЛицо); НаборЗаписейОсновнойЛожь.Прочитать(); Для каждого ЗаписьНабораОсновнойЛожь Из НаборЗаписейОсновнойЛожь Цикл ЗаписьНабораОсновнойЛожь.ОсновнойЗарплатныйПроект = Ложь; КонецЦикла; НаборЗаписейОсновнойЛожь.Записать(); КонецЦикла; Бывало |
||||||||||
6
d4rkmesa
21.04.21
✎
12:56
|
Бывает. Не до слез, конечно, но в типовых раньше такое в "Бухгалтерии 3" было частенько - все красивенько. Сейчас, правда, уже начали усложнять, как в УТ/ERP-ке - унификация процедур, интерфейсов и т.д., кодогенерация.
Бывало |
||||||||||
7
Lama12
21.04.21
✎
12:58
|
(0) Идеальность по какому критерию?
Всегда считал что удобство модификации является главным в коде который нужно поддерживать. Но вот когда смотрю на код зарплаты, то плачу. Решения интересные, но ни отладить, ни изменить красиво не получится. Насколько такой код красивый? Бывало |
||||||||||
16
lubitelxml
21.04.21
✎
15:13
|
Но не в типовых
Бывало |
||||||||||
19
1Сергей
22.04.21
✎
09:21
|
Видел код skunk-a
Бывало |
||||||||||
24
АнализДанных
22.04.21
✎
11:56
|
(0) Много кода видывал, наверное идеальный - это когда код написан так, что ты правишь\добавляешь одну строчку и твои изменения начинают наследоваться\обрабатываться в других процедурах автоматом. Например, есть какая-то процедура инициализации, где задаются изначальные настройки и достаточно внести изменения только туда.
Бывало |
||||||||||
30
Конструктор1С
22.04.21
✎
13:49
|
(0) хороший код это тот который легко читать, понимать, по которому легко "перемещаться". Хороший код кажется простым и банальным. Поэтому им никто не восхищается
Бывало |
||||||||||
31
Pprog151713
22.04.21
✎
15:06
|
Хороший код, это когда норм. работает и денежки приносит и клиент доволен. :)
Бывало |
||||||||||
32
aka MIK
22.04.21
✎
15:12
|
Каждый кто откроет мой код - именно так и скажет.
Все, кроме SonarQube - этому сложно угодить ) Бывало |
||||||||||
36
AliceLight
22.04.21
✎
16:47
|
Есть код некоторых коллег, которым залюбоваться можно. У них хороший уровень
Бывало |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |