Имя: Пароль:
1C
 
Идеальный код на 1С
0 1ctube
 
21.04.21
12:45
1. Бывало 63% (12)
2. Никогда 21% (4)
3. Бывало и даже в типовых 16% (3)
Всего мнений: 19

Доброго времени суток. Вопрос такой, бывало ли у вас что открыв чужую конфигурацию и оценив код, то вы увидели идеальный код или гениальное решение, которое заставило вас сказать/подумать "Это прекрасно" или "гениально". Даже слезу пустить от красоты решения
1 toypaul
 
гуру
21.04.21
12:50
идеальный код живет в 1С как муха дрозофила 1 день, потом он превращается в навозного жука

встретить его можно редко в законсервированном виде, в некоторых типовых решениях
2 DrZombi
 
гуру
21.04.21
12:50
Было и не раз. И гениальность до такой стороны сложна и проста, что обычные кодеры ее не замечают, и сторонятся. Их речи "Много буковок кода, не осилил" :)

Бывало
3 dvpk
 
21.04.21
12:52
(0) Идеальность кода вопрос достаточно эфемерный. Слишком много критериев оценки. Вообще, грамотные решения часто можно наблюдать в типовых(из вариантов опроса почему-то следует, что в типовых его меньше). А вот как раз от кастомных обработок и модулей иногда становилось плохо.

Бывало
4 d_monah
 
21.04.21
12:52
Гениальный решение может написать только гений1С.Генитальных решений хоть отбавляй
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) Идеальность по какому критерию?
Всегда считал что удобство модификации является главным в коде который нужно поддерживать. Но вот когда смотрю на код зарплаты, то плачу. Решения интересные, но ни отладить, ни изменить красиво не получится.
Насколько такой код красивый?

Бывало
8 timurhv
 
21.04.21
12:59
(5) так что в нем такого? Код как код.
9 Почему 1С
 
21.04.21
13:01
Не могу вспомнить гениального кода в 1С, вот на python встречал, на Kotlin встречал, в 1С смутно что-то было, но как правило все обыденно.

Идеального кода встречал много в типовых и БСП.

Бывало и даже в типовых
10 Bigbro
 
21.04.21
13:01
давно не видел решений которые бы вызывали восхищение...
может как раз потому что в типовые практически не влезаю.
в основном разгребаю чужие костыли и изобретаю собственные.
может стал больше ценить простоту и гибкость чем красоту...
11 Почему 1С
 
21.04.21
13:04
Идеальный код для меня это тот код, который не хочется переписать.  Поэтому понятие идеального кода для меня относительное и свойственное к переосмыслению.
12 Гений 1С
 
гуру
21.04.21
13:08
(0) скорее наоборот. бывает скачиваю с инфостарта и лью слезы
13 Почему 1С
 
21.04.21
13:11
(12) Это обычное дело, интересно было ли интересное и хорошее
14 PLUT
 
21.04.21
13:12
(12) Идеальный код, это который ты написал когда-то. открываешь и гордишься своей гениальностью. и кто же этот идеальный код написал? неужели я такой умный был?
15 PLUT
 
21.04.21
13:13
+(14) "идеальный" можно по вкусу на "гениальный" заменить
16 lubitelxml
 
21.04.21
15:13
Но не в типовых

Бывало
17 VladZ
 
21.04.21
15:24
Идеальный код - это сферический конь в вакууме.

Никогда
18 1ctube
 
22.04.21
07:38
Тоже проголосую. Бывало и даже в типовых.

Бывало и даже в типовых
19 1Сергей
 
22.04.21
09:21
Видел код skunk-a

Бывало
20 Мимохожий Однако
 
22.04.21
09:23
(4) наоборот
21 DTX 4th
 
22.04.21
11:05
(7) Люто плюсую
Если сюда еще добавить отсутствие нормальной IDE (современной, не 2000-х годов), вообще мякотка получается)

О каком идеальном коде можно говорить, когда отсутствует модульность чуть ли не полностью?
Если переписать код 1С на тайпскрипт, будет намного красивше/удобнее/лаконичнее

Недавно увидел идеальную ORM:
https://www.prisma.io

Всем советовал бы попробовать)

А недавно и фулстак-фрейморк:
https://blitzjs.com/

Он прекрасен!

Сверху накрутил новый для себя CSS-фреймворк) http://tailwindcss.com/
Получилась красота)


Это венец веб-программирования, я считаю)
https://i.imgur.com/sO05PXg.png
https://i.imgur.com/EvtcDzd.png
https://i.imgur.com/DTzziQJ.png

Вот, например, недавно итоги получал (аналог РегистрНакопления.Обороты):
https://i.imgur.com/Yg3oTGZ.png

И есть очень большое желание написать на нем убивцу 1С)
Я недавно пытался начать (реализовал формы на реакте), но план был слишком амбициозен)
https://i.imgur.com/BVQ6SEj.png
А так выглядел результат пары спринтов:
https://i.imgur.com/56vyPaz.png
https://i.imgur.com/ClSlhG0.gif

Если вдруг кому интересно подобное, велкам в телегу (он есть в соседней ветке)

Никогда
22 DTX 4th
 
22.04.21
11:05
(22) И все это типизировано!!!
23 1ctube
 
22.04.21
11:42
(21) Там есть поддержка русского синтаксиса?
24 АнализДанных
 
22.04.21
11:56
(0) Много кода видывал, наверное идеальный - это когда код написан так, что ты правишь\добавляешь одну строчку и твои изменения начинают наследоваться\обрабатываться в других процедурах автоматом. Например, есть какая-то процедура инициализации, где задаются изначальные настройки и достаточно внести изменения только туда.

Бывало
25 Garykom
 
гуру
22.04.21
11:59
(21) нее с такими постами ты Программист 1С, Москва, метро Сокол, 140-184 не найдешь
26 lodger
 
22.04.21
12:01
когда всё идеально - это не нужно чинить или дорабатывать.
значит меня не зовут туда ковыряться.
значит я не видел хорошего кода, только километры копрокода.

но есть множество модулей и форм, которые я никогда не открывал. наверное, там всё хорошо...

Никогда
27 DTX 4th
 
22.04.21
12:26
(23) Думаю, должна быть
Была идея натянуть babel на исходники 1С и засунуть в vscode) Но пока слишком много баз на обычных формах =\
28 Вафель
 
22.04.21
13:38
(27) причем тут Бабель? Что ты хочешь получить?
Сдается что ты просто слышал это слово но смысла не понял
29 Вафель
 
22.04.21
13:39
А плагины под код 1с (уан скрипт) для вскод уже есть
30 Конструктор1С
 
22.04.21
13:49
(0) хороший код это тот который легко читать, понимать, по которому легко "перемещаться". Хороший код кажется простым и банальным. Поэтому им никто не восхищается

Бывало
31 Pprog151713
 
22.04.21
15:06
Хороший код, это когда норм. работает и денежки приносит и клиент доволен. :)

Бывало
32 aka MIK
 
22.04.21
15:12
Каждый кто откроет мой код - именно так и скажет.

Все, кроме SonarQube - этому сложно угодить )

Бывало
33 Провинциальный 1сник
 
22.04.21
15:20
Идеальный код это тот, который написал ты сам, а потом через 10 лет открыл и тебе всё понятно. А местами даже и восхищаешься "ай да пушкин..".
34 Mort
 
22.04.21
15:48
Программисты переоценивают свою работу. Идеальный код это как идеальный чизбургер или идеальная стрижка - бывают кому-то интересные (а кому-то нет), бывают просто хорошие, а обычно так себе и хуже.
35 Mihasya
 
22.04.21
15:56
1. Бывало
36 AliceLight
 
22.04.21
16:47
Есть код некоторых коллег, которым залюбоваться можно. У них хороший уровень

Бывало
37 ГдеСобака Зарыта
 
22.04.21
16:51
А бывало у кого-нибудь, чтобы написал код и он заработал с первого раза, без ошибок, ровно так как и планировалось. Чтоб сидишь в конфигураторе, пишешь-пишешь, вроде все готово, открываешь предприятие и оп!, все работает, можно закрывать задачу. Естественно сколь-нибудь серьезный код, на сотню строк хотя бы.
38 aka MIK
 
22.04.21
18:06
(37) ага, дедушка рассказывал
39 Duke1C
 
22.04.21
19:17
(30) +100
40 Злопчинский
 
22.04.21
19:34
(30) пример хорошего кода на 7.7
а = а/0; // работает, не ломается
41 Гений 1С
 
гуру
22.04.21
21:16
(14) о, я пару раз во фране натыкался на свой же код. не верил, что это я написал
42 Mort
 
22.04.21
21:59
(37) Писал-писал долго код. Запустил - работает. Сидишь думаешь - так, чо-то не то... И в итоге находишь очень серьезный косяк.
43 Злопчинский
 
22.04.21
22:25
Это хорошо коглда сидишь и находишь.. а когда косяки вылазят в продакшене - совсем дургое дело. запускал тут на складе ивенты/сборку - так пару раз кондратий чуть не пришел, в итоге - все работает верно в тех "исходных данных" которые есть... а они - кривые. ну и работает исходя из этого вернол. а ожидается другой результат... волшебсвто короче ожидается ;-что будет работать  как "бог из машины". тут косяков собственно своих хватает всегда, еще и "наведенные" вылазят... ;-)
44 Mort
 
22.04.21
22:31
(43) Тут и платформы косяк, кстати. Они (писатели платформы) как-то близко к сердцу приняли понятие тестирования и выдали наружу нерабочий труп сценарного тестирования. А ведь могли бы просто прививать одинэсникам какой-нибудь простой Assert, типа:

Функция Поделить(А, Б)
   Проверить(Б!=0);
   ....

Вместо этого приходится писать:

Функция Поделить(А, Б)
   Если Б==0 Тогда... //Никто это не станет пишет и культуры такой нет
45 Mort
 
22.04.21
22:31
*писать
46 Вафель
 
22.04.21
22:33
(44) разве кто-то юзпет ассерты вне тестирования?
47 Mort
 
22.04.21
22:33
*Проверить(Б<>0) - Чьорт выпимши я перехожу на синтаксис не 1С...
48 Злопчинский
 
22.04.21
22:34
(44) я вот хз все это сценарное тестирование. вещь наверное нужная/хорошее - тока бюджетов на него не дают...
49 Mort
 
22.04.21
22:34
(46) Так в 1С их вообще никто не юзает. Может быть 1С стоит эту моду начать?
50 Вафель
 
22.04.21
22:36
(49) какая мода, если никто не делает.
Или ты про тестирование конкретно?
51 Mort
 
22.04.21
22:37
(48) Я попробовал вот это сценарное тестирование от 1С (с доп. базой, записать действия, запустить действия). Проблема не в бюджетах, проблема в том что это неудобно, глючит, обработка формирования тестов (когда я это делал) на инглише - короче гаси свет. Если у кого есть положительный опыт пользования этой поделкой, я рад обсудить.
52 Вафель
 
22.04.21
22:37
(48) когда в 1го пишешь тестирование не особо то и нужно
53 Вафель
 
22.04.21
22:38
(51) полно и других инструментов. Например хюнит Аля ванесса
54 Злопчинский
 
22.04.21
22:39
мое сценарное тистирование происходит прсото - пишу код, а что будет если впихну на вход хрень? (может же на вход попасть хрень? - может! вот такое сценарноетестирвоание6 "типа - тут у нас сканирование ШК товара." - а если у товара нет ШК? - тогда выбираем товар из списка если есть "доступный" список товаров (например список товаро приемки), а если нет списка товаров? - тогда вводим некий идентификатор товара вручную - а если ввод геморойный куча буквцифрспецзнаков вперемешку - тогда заводим в системе "приведенный" идентификатор только из цифр обычного идентфикатора - но тогда надо различать ввод полного идентфикатора и приведенного - ага, сделаем, проверим.. - а если приведенный идентфикатор вводим то потенциально получаем список дублей - выбор из списка дублей - а что если список пустой - и сидишь такую хрень "тестишь" и каждое изменение надо прогнать по всей цепочке ибо изначально "архитектура" не разработана - она вот и рождается в итоге такого "тестирвоания".. короче геморой полный...
55 Mort
 
22.04.21
22:39
(50) Ну вот сделают 1С функцию Проверить(), ПроверитьТип(), будут юзать это в типовых, требовать на сертификаты, форсить на форумах и мода настанет. Они могут многим управлять.
56 Злопчинский
 
22.04.21
22:41
хорошо всем этим "сценариным тестирвоанием" заниматься когда ты никому ничего не должен. и тебе за это тестирование деньги платят. тогда - за..бись! обтестироваться! только вперед!
57 Mort
 
22.04.21
22:41
(53) Да, есть системы от энтузиастов и вполне себе. Но это от энтузиастов и для энтузиастов. Я про не наличие технических возможностей, а про курс фирмы 1С. Это 1Сник думает что 1С не управляет чо дальше ему придется учить.
58 Mort
 
22.04.21
22:43
(56) Ну когда 1С включит это в стандарт, то деваться будет некуда, будут платить деньги за тестирование. И это в конечном результате будет экономия.
59 Вафель
 
22.04.21
22:43
(56) за исправление своих косяков тебе платят же?
60 Злопчинский
 
22.04.21
22:45
(59) потупи глаза, скромно - у меня нет косяков, у меня - фичи...
61 Mort
 
22.04.21
22:45
Нет, есть конечно скепсис о тестировании. Про покрытие кода это миф даже в конченном ООП.
62 Вафель
 
22.04.21
22:46
(54) ну и тестирование нужно когда ты дорабатывает кусок и вопрос А не сломалось ли чего из старого.
Вот для этого и нужны тесты
63 Mort
 
22.04.21
22:46
Давайте вспомню свои косяки. И подумаю помогли бы тесты в этом случае...
64 Злопчинский
 
22.04.21
22:47
(62) я в курске.
65 Вафель
 
22.04.21
22:47
Особенно тесты помогают когда конфу обновляешь
66 Mort
 
22.04.21
22:47
Напилил команду, не добавил доступ в роль - любимое. Тест - какой тут может быть?
67 Вафель
 
22.04.21
22:48
Ну и когда речь про не оплачивают особенно на фиксе - это лукавство.
Это просто влом
68 Mort
 
22.04.21
22:48
(65) Это да. Глобальная открывалка всех форм тупо даже. Кстати ни одной так и не видел нормальной.
69 Злопчинский
 
22.04.21
22:49
(63) был у меня косяк.. был.. как-то при генерации доков по длиннйо цепочке интеркампаней в лохматые начало 2000-ых - сложный код нумерации счф привел к тому что на печать выводилсоь
Счет-Фактура №12345
и все, пиздаты!
обнаружил шеф, месяца через 4 работы. бухию - все устраивало... ;-)
70 Вафель
 
22.04.21
22:49
(66) при разра6 нового функционала тесты не помогут.
Ты значет ещё не понимаешь смысла тестирования
71 Mort
 
22.04.21
22:50
(70) Да, до седых мудей дожил, а ума не нажил. Пока не понимаю.
72 Злопчинский
 
22.04.21
22:51
(70) а при ипсравлении старого функционала - зачем тесты? ну исправил. если персонал не заорал что криво/сломалось/не работает - значит ок. заорал - поправим...
73 Вафель
 
22.04.21
22:52
(72) если у тебя контора из 5 юзеров то можно и так
74 Злопчинский
 
22.04.21
22:52
разработка через тестирвоание - вещь хорошая. но ресурсожрущая что капец...
75 Злопчинский
 
22.04.21
22:52
(73) ну если контора на 5000 человек - то наверное будет бюджет и на тестировщика...
76 Вафель
 
22.04.21
22:54
(74) как раз это фигня убивает вообще желание тестировать.
Создание тестого примера через тестирование - вот он самый верный путь
77 Злопчинский
 
22.04.21
22:54
(76) а кто будет судить судей?
78 Вафель
 
22.04.21
22:55
(77) не понял
79 Злопчинский
 
22.04.21
22:55
(78) коктейль "Рекурсивный" - так понятнее?
80 Злопчинский
 
22.04.21
22:58
фузиновцы правильно написали
"Сейчас, читая большое количество различных технических заданий и спецификаций, я понимаю главную проблему такого “бизнес анализа”: бумага все стерпит. В этом и есть ключевое отличие анализа и программирования. На бумаге можно написать абсолютно противоречивые условия, указать абсолютно абстрактные требования вроде “хочу, чтобы было хорошо”, красиво их оформить, и считать, что работа сделана. В программировании такой трюк не проходит — все должно быть четко. По этой причине разработчик может часто отбиться от реализации любого функционала от заказчика, просто постоянно указывая на противоречия и требуя уточнения требований. И сделать заказчик сможет только, если он, по сути, выполнит работу программиста."
- когда меня начинают доставать реально - я как раз так и делаю. перестаю думать за заказчика.
81 Вафель
 
22.04.21
22:58
(79) значит ты не понял что я сказал
Что такое разработка теста
1. Тестовый пример
2. Выполнение действий
3. Проверка
Каждый раз вручную вводить пример влом, особенно если нужно 3-4 и более операций.
А если пример запрогал, то добить тест не сложно
82 GANR
 
22.04.21
22:58
Редко, но бывало. Ведь ни наследования, ни регулярных выражений, ни передачи функций в качестве параметров, язык запросов ограниченный - не разгуляешься. Для автоматизации учета да, удобно, но не более. В типовых код относительно неслабый - видно, что фирма следит за этим, всем бы так программировать на 1С - очень сильно по уровню от флагмана отстают.

Бывало и даже в типовых
83 Злопчинский
 
22.04.21
23:04
от фузиновцев
"К слову, сейчас у нас разработчиками на lsFusion работают бывшие менеджеры по продажам, системные администраторы, экономисты, консультанты ERP-систем и так далее."
теперь понятно почему у них 2*2 = 5. Это ж чисто как в анекдоте "сколько будет 2*2? - А сколько надо?"
;-)
84 Mort
 
22.04.21
23:07
(74) Разработка через тестирование это то чем каждый одинэсник занимается по тысячу раз на дню. Дело в том, что в отличие от здоровых компилируемых систем одинэсник имеет возможность прямо тут запустить и через пару кликов проверить "горячий" функционал. Я вот на юнити (даже на юнити) посидел и понял, что в других системах так быстро провести тест своей писанины очень сложно. И там, да, очень актуальны юнит тесты и т.д.
85 Mort
 
22.04.21
23:09
Просто мы (1С ники) сидим прямо под коркой пользовательского интерфейса, и проверить чо не так не составляет сложности. А когда пишешь серверный код для игры - немного другие условия для проверки. Прямо реально хер проссышь чо там происходит и приходится полагаться на тесты.
86 Злопчинский
 
22.04.21
23:11
(84) " одинэсник имеет возможность прямо тут запустить и через пару кликов проверить "горячий" функционал. "
- это называется экстремальное программирвоание. когда вместо нарисовать алгоритм - хук..ху.к и в продакшен!
87 GANR
 
22.04.21
23:12
(16) А как насчет инструментов разработчика - конвертация данных, а выгрузка загрузка данных хмл? Обратите внимание как умело в них используются рекурсивные механизмы. Но вот в типовых мало красивого - бизнес-логика в коде никогда красиво не смотрится.
88 Mort
 
22.04.21
23:13
(86) Наверное поэтому 1С так и поднялась. Ты же согласен что можно быстро запустить и проверить?
89 Mort
 
22.04.21
23:18
(87) Кстати про инструменты, я свой Data Commander (не буду рекламить) вот когда читаю код - блин, охеренно написано. Возможностей - вагон. Правда используют немногие - кто умеет. Но сейчас смотрю и понимаю - надо переделать. Пишу четвертую версию втихаря.
90 Злопчинский
 
22.04.21
23:20
(88) согласен. но это путь в никуда. где и оказались.
91 Злопчинский
 
22.04.21
23:21
(89) давай ссылку уже на свой датакоммандер. раз пиариться начал.
92 Злопчинский
 
22.04.21
23:24
я вот как программист - ваще никакой. у меня на балконе дома - трэш и угар. туда сваливается все что насобирал явавский сборщик мусора.. ;-)
93 GANR
 
22.04.21
23:51
(92) Навык кодирования на самом деле не самое главное (в Java, Kotlin тоже) - он, скорее ограничительный характер носит. Предмет автоматизации понимать важнее, видеть полную картину происходящего, потребности, да и просто жизненный опыт - понимание таких вещей запросто может уменьшить объемы кодирования в 10-ки раз.
94 GANR
 
22.04.21
23:53
(89) То ли ещё будет - проследите историю развития конструктора запросов в платформе 1С. Уж 3 десятилетия. Процесс по природе своей итеративный.
95 Злопчинский
 
23.04.21
02:07
(93) это точно. если работу долго не делать
1. ее сделает тот, кому она нужнее
2. она отпадет сама собой
96 GANR
 
23.04.21
10:46
(95) Гениальный Злопчинский ))
97 GANR
 
23.04.21
10:48
(95) На самом деле одну и ту же работу при понимании ПОЛНОЙ картины происходящего можно сделать в 10-ки раз меньшим количеством кода ни на кого её не перекладывая даже.
98 mdao
 
23.04.21
11:55
на 1С не может быть идеального кода, идеальный код возможен только на asm

Никогда
99 Провинциальный 1сник
 
28.04.21
08:50
(98) Неа. Только в машинных кодах. При этом идеальный код должен быть как можно больше похожим на белый шум.
100 Mikeware
 
28.04.21
09:31
(99) по статистическому распределению?
101 Волшебник
 
28.04.21
09:34
(98) Любой код на ASM далёк от идеального.
102 Волшебник
 
28.04.21
09:40
Если код написан на языке низкого уровня, то он слишком тесно привязан к платформе, архитектуре.
Он теряет свойство переносимости (портабельность).
Его сложно поддерживать.
При выходе новой архитектуры его надо адаптировать или переписывать с нуля.

Так что любой код на ASM не может быть идеальным.
Основная теорема систематики: Новые системы плодят новые проблемы.