|
Идеальный код на 1С | ☑ | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
0
1ctube
21.04.21
✎
12:45
|
Доброго времени суток. Вопрос такой, бывало ли у вас что открыв чужую конфигурацию и оценив код, то вы увидели идеальный код или гениальное решение, которое заставило вас сказать/подумать "Это прекрасно" или "гениально". Даже слезу пустить от красоты решения
|
||||||||||
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 не может быть идеальным. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |