|
Использование GoTo (Перейти): плохо или хорошо? ↓ (Волшебник 25.11.2024 13:09) | ☑ | ||
---|---|---|---|---|
0
formista2000
14.11.24
✎
12:59
|
Привет!
Среди вложенных условий и циклов уместно ли использовать оператор Перейти для выхода из этого леса? Или это дурной тон и надо переписывать алгоритмы и условия? |
|||
1
Волшебник
14.11.24
✎
13:02
|
Можно.
|
|||
2
Участковый
14.11.24
✎
13:03
|
(0) А сам как думаешь?
|
|||
3
Valdis2007
14.11.24
✎
13:03
|
(0) если четко понимаешь зачем делаешь, то можно
|
|||
4
Garykom
14.11.24
✎
13:04
|
(0) если потребовалось применение безусловного перехода - значит пора решать проблему накопленного технического долга
|
|||
5
Галахад
14.11.24
✎
13:04
|
Есть же требования к цикломатической и когнитивной сложности.
|
|||
6
formista2000
14.11.24
✎
13:05
|
(2) (1) Просто я ни разу не использовал. Серьёзно. Но в этот раз чтобы не рефакторить чужой код я думаю это будет уместно. Всё бывает в первый раз. Надеюсь, это не зашквар.
|
|||
7
formista2000
14.11.24
✎
13:05
|
(4) Вот и у меня такие мысли.
|
|||
8
Valdis2007
14.11.24
✎
13:07
|
(4) если потребовалось применение безусловного перехода - значит пора...
пора уходить из программистов)) |
|||
9
Garykom
14.11.24
✎
13:08
|
лично я не помню когда последний раз применял goto
кроме bat/bash, это вероятно лет 30 назад |
|||
10
Garykom
14.11.24
✎
13:08
|
(8) в некоторых ЯП иначе никак
|
|||
11
Dotoshin
14.11.24
✎
13:11
|
>>Но в этот раз чтобы не рефакторить чужой код я думаю это будет уместно.
Может все же лучше день потерять, потом за 5 минут долететь? Наверняка ведь потом придется вернуться к этому коду и мучительно долго вспоминать, а зачем тут эта гота была... |
|||
12
craxx
14.11.24
✎
13:15
|
(0) Моветон и неуважение к коллегам, которые будут читать потом код. По мне, приравнено к говнокоду.
|
|||
13
formista2000
14.11.24
✎
13:17
|
(11) (12) Да, я тоже так думаю. Надо переписывать норм чтобы было.
|
|||
14
Волшебник
14.11.24
✎
13:17
|
(12) фраза "Перейти ~" встречается в ИР (инструменты разработчика), так что имеет право на жизнь.
|
|||
15
Valdis2007
14.11.24
✎
13:18
|
(11) у клиента конвеер по сборке бутылок в ящики на производстве встал...а ты рефакторить день собрался....да такое себе))
|
|||
16
Asmody
14.11.24
✎
13:25
|
В ERP используется 24 раза. И все в одном месте: Отчет.РегламентированныйОтчетПрибыльИностраннойОрганизации
Судя по коду, что-то жутко возрастное. Вообще, я думаю, что Перейти уместно в 2х случаях: - когда нужно почистить ресурсы после Исключения (как имитация finally или defer) - когда вы реализуете сложную логику в виде конечного автомата |
|||
17
Asmody
14.11.24
✎
13:27
|
(14) ну, в ИР встречается много странного. Но это специфика инструмента.
|
|||
18
Dedal
14.11.24
✎
13:28
|
Для решения проблемы\задачи "нужно было вчера" уместно.
В остальных случаях при возможности реализации "без" лучше не использовать, когда встречаются такие конструкции в обычном коде это очень сложно читать. |
|||
19
craxx
14.11.24
✎
13:29
|
(15) Конвейерами несколько другой софт рулит.
|
|||
20
Krendel
14.11.24
✎
13:30
|
(0) Я не стал становится программистом из-за этого оператора ;-)
Наверное это "Хорошо" |
|||
21
craxx
14.11.24
✎
13:30
|
(14) Так и запросы в циклах порой кое-где встречаются, а порой кое-где без них не обойтись, так это же не повод повсеместного применения.
|
|||
22
Valdis2007
14.11.24
✎
13:31
|
(16) я просто не в курсе, платформа 1с, позволяет явно освобождать ресурсы? ну ком объект понятно надо убивать или стороннее приложение завершать.
|
|||
23
Valdis2007
14.11.24
✎
13:33
|
(20) )))
а может быть программист только одного оператоа - GO TO |
|||
24
Asmody
14.11.24
✎
13:33
|
(19) Думаешь, в нём нет goto?
|
|||
25
Zapal
14.11.24
✎
13:35
|
(0) Если ты видишь, что это явно упростит код, то используй смело.
|
|||
26
Asmody
14.11.24
✎
13:34
|
(22) временные файлы почистить, кеши сбросить. Да мало ли что
|
|||
27
Волшебник
14.11.24
✎
13:34
|
(21) У профессионалов запросы в циклах не тормозят.
|
|||
28
Krendel
14.11.24
✎
13:35
|
(27) Специалиста, профессионал же младше
|
|||
29
Волшебник
14.11.24
✎
13:36
|
(28) Я не имею в виду сертификаты. У меня нет ни одного сертификата "Специалист". И чо?
|
|||
30
Valdis2007
14.11.24
✎
13:36
|
(19) пишешь софт для ковееров?
|
|||
31
craxx
14.11.24
✎
13:37
|
(24) Ну, в Java, например, его нету.
|
|||
32
Волшебник
14.11.24
✎
13:39
|
(31) В Java есть break label
|
|||
33
craxx
14.11.24
✎
13:40
|
(32) Это другое (с)
|
|||
34
Krendel
14.11.24
✎
13:41
|
(29) Я не имею в виду сертификаты
это был сарказм У меня нет ни одного сертификата "Специалист". И чо? Ты хвастаешься или каешься, тут я не уловил сути |
|||
35
Asmody
14.11.24
✎
13:42
|
(31) goto нету, но метки и переходы по ним есть.
|
|||
36
craxx
14.11.24
✎
13:44
|
(35) есть, но лишь способ вывалиться из вложенных циклов.
|
|||
37
Волшебник
14.11.24
✎
13:45
|
(34) Вот Вы вообще программировать не умеете, зато готовы обсуждать необходимость GOTO. Оставьте это профессионалам, а сами занимайтесь своим анализом.
|
|||
38
Злопчинский
14.11.24
✎
14:00
|
Весь ассемблер/машинный код построен на условных и безусловных переходах. И ничего. как-то работает все.
|
|||
39
Krendel
14.11.24
✎
14:02
|
(37) По ВУЗовскому программированию у меня 5, по программированию решению СЛУ у меня 5.
Код не читаем, прогать-то я умел, а в классическом понимании- разработка алгоритмики- то и ща умею ;-) |
|||
40
Dotoshin
14.11.24
✎
14:28
|
(15) Вот чтобы этот конвейер завтра не встал на месяц, надо сегодня денек постоять. Как-то так...
|
|||
41
Garykom
14.11.24
✎
14:32
|
(39)
и ща умею
есть подозрение только языком ворочать |
|||
42
Ногаминебить
14.11.24
✎
14:41
|
Для сложной запутанной хрени лечение костылем не только проще и дешевле, но и зачастую надежнее.
А вот изначально лучше наверное без них обходиться. |
|||
43
Garykom
14.11.24
✎
14:46
|
(42) сложную запутанную хрень лучше переписать
если не чисто косметическая правка ну там вывод подправить если потребовался goto - вероятно там с кодом/алгоритмом уже проблемы |
|||
44
Ногаминебить
14.11.24
✎
14:54
|
(43) Это понятно, но не всегда есть ресурс на такую задачу. Ведь если уж переписывать - то срубив до основания вообще все.
ЗЫ: Возврат кстати приравниваем к гоуту? |
|||
45
Гений 1С
14.11.24
✎
14:55
|
(0) норм, не бзди. все сеньоры так делают.
проблемы готы толкько в лапшевидном коде. а если он для выхода в конец процедуры или из циклов, это норм. Дейкстра не возражает |
|||
46
Garykom
14.11.24
✎
15:01
|
(44) де-юре да
возврат посредине функции/процедуры плохой стиль, надо всегда только в конце но де-факто так код иногда лаконичней и проще/понятней и тупо быстрей например не делаем еще проверки лишних отдельный условий, сразу возврат когда добрались до нужного Если ... Возврат КонецЕсли Если ... Возврат КонецЕсли |
|||
47
Valdis2007
14.11.24
✎
15:01
|
(44) Возврат кстати приравниваем к гоуту?
возврат по условию или "внезапно", посреди метода? |
|||
48
Гений 1С
14.11.24
✎
15:03
|
(46) ты еще на брик и континуе (Прервать и Продолжить) батоны покроши.
|
|||
49
Garykom
14.11.24
✎
15:13
|
(48) и покрошу
в Прервать и Продолжить явно не хватает параметра в скобках, сколько вложенных циклов прерывать тогда и выход из вложенных по условию с опорой на метку (Перейти = goto) не потребуется ну никогда |
|||
50
Valdis2007
14.11.24
✎
15:15
|
надо на функциональные ЯП переходить, там нет таких проблем....
|
|||
51
Волшебник
14.11.24
✎
15:16
|
(50) А там можно грабить корованы?
|
|||
52
Valdis2007
14.11.24
✎
15:19
|
(51) еще как!
|
|||
53
Eiffil123
14.11.24
✎
15:31
|
(0) используйте для циклов Прервать и Продолжить.
Этого должно хватать |
|||
54
Asmody
14.11.24
✎
15:36
|
(51) в Haskell можно (но не рекомендуется) использовать unicode в именах.
Поэтому, грабить корованы будет вполне валидным кодом 😉 |
|||
55
Garykom
14.11.24
✎
15:41
|
(54) В Java еще хз каком году писал
грабитьКорованы(); |
|||
56
Asmody
14.11.24
✎
15:50
|
(55) во многих ML-языках (Haskell/OCaml/F#) не надо писать скобочки и запятые при вызове функций
|
|||
57
APXi
14.11.24
✎
16:14
|
Не очень много моментов когда гото оправдано, если есть возможность лучше избегать. Всегда можно избежать, но иногда (не много случаев) с гото код читается легче.
|
|||
58
APXi
14.11.24
✎
16:15
|
(56) В паскале тоже не нужно было писать скобочки при вызове процедуры.
|
|||
59
Ногаминебить
14.11.24
✎
16:46
|
(46) Ну такой в каждой процедуре ОбработкаПроведения от 1С зашит. :)
Хотя что нам мешает написать если 1=1 тогда возврат; конецесли; :) |
|||
60
mikecool
14.11.24
✎
16:54
|
(11) а потом будешь объяснять клиенту, почему на вывод строчки ты потратил не час, а неделю...
|
|||
61
Dotoshin
14.11.24
✎
16:58
|
(60) Там речь не о клиенте, если я правильно понял...
|
|||
62
lubitelxml
14.11.24
✎
17:16
|
(46) то есть по вашему - во всех документах в типовых плохой тон в ПередЗаписью в модуле документов, там где проверка на ОбменДанными.Загрузка и Возврат, если это Истина?
(0) Перейти - осуждаю ) |
|||
63
Franchiser
14.11.24
✎
17:26
|
(0) можно если занимаешься обфуксацией кода
|
|||
64
Гена
14.11.24
✎
17:53
|
Странный спор. Если есть оператор Перейти, то пусть будет, зачем же специально пренебрегать ещё одним инструментом?
"Прервать" это то же "Перейти", только на квазиметку ~КонецЦикла. А если надо перейти на ДРУГУЮ метку, то тут и сработает более обширный оператор "Перейти". Можно ли обойтись совсем без меток? Естественно. Но когда код ЧУЖОЙ и программист точно знает куда он намерен перейти, то глупо отказываться от GOTO. Ведь это существенно убыстряет нужное изменение данного чужого кода. |
|||
65
formista2000
14.11.24
✎
18:36
|
Да, пожалуй действительно - перегружена у меня тут процедура. Надо её разделить на более мелкие, а уже в них если что - Возврат;
|
|||
66
ass1c
14.11.24
✎
18:49
|
(0)
1. Можно, но не рекомендуется. 2. Запрещается использовать оператор Перейти в общих модулях с признаком "Клиент (управляемое приложение)", модулях команд и в клиентском коде модулей управляемых форм, так как данный метод не поддерживается платформой 1С:Предприятие в режиме веб-клиента. |
|||
67
Chai Nic
14.11.24
✎
18:56
|
(47) Да, Возврат тоже по сути goto на конец процедуры.. Идеально процедурный код выглядел бы весьма странно и непривычно.
|
|||
68
Гений 1С
14.11.24
✎
18:57
|
(64) эээээ бро. тут есть любители делать по правилам, в ущерб производительности работы программиста.
|
|||
69
Ненавижу 1С
14.11.24
✎
20:07
|
Метод должен делать что-то одно, это сразу упростит структуру кода
|
|||
70
Конструктор1С
14.11.24
✎
20:28
|
(68) ущерб производительности программиста - твой говнокод. Вместо того, чтобы потратить 10 часов на новую фичу, программист потратит 100 часов на резграбение последствий твоих костылей
|
|||
71
Конструктор1С
14.11.24
✎
20:30
|
(17) это всего-навсего кривые ручонки автора
|
|||
72
Конструктор1С
14.11.24
✎
20:32
|
(25) не бывает таких случаев
|
|||
73
Конструктор1С
14.11.24
✎
20:33
|
(64) лови говнокодера!
|
|||
74
Ненавижу 1С
14.11.24
✎
21:13
|
(70) яростно плюсую. Сирожа пропагандирует говнокод потому что жалеет "бюджет клиента". Когда ему тыкают носом, что он не умер бы от трех строк кода, он презрительно говорит, что не "перфекционист".
|
|||
75
Aleksey
14.11.24
✎
21:36
|
(70) Предлагаю запретить шаблон или как там 1С любит подменять перемные в запросах. А то мозг сломаешь пока поймешь что этот запрос должен делать.
|
|||
76
Ненавижу 1С
14.11.24
✎
21:42
|
(75) сначала пусть схему запроса до ума доведут
|
|||
77
Hans
14.11.24
✎
22:02
|
Обработчики оповещения, обработчики ожидания те же GoTo.
|
|||
78
Hans
14.11.24
✎
22:03
|
Особенно обработчики ожидания доп реквизитов мне нравятся. не успеваешь переключиться в интерфейс и нажать кнопку. Fuuuuuuck.
|
|||
79
vis
14.11.24
✎
22:05
|
(76) Что именно?
|
|||
80
Ненавижу 1С
14.11.24
✎
22:34
|
(79) работа со схемой в итоге мало чем отличается от работы с текстом. И то и другое не айс. Всегда привожу в пример linq из .net
|
|||
81
Сергиус
14.11.24
✎
23:47
|
(0)Помню в институте еще на практике заставляли переделывать код, если там хоть один гоуту использовался..с тех пор как то и не тянет к нему)
|
|||
83
Волшебник
15.11.24
✎
09:39
|
(81) Вот дураки
|
|||
84
Valdis2007
15.11.24
✎
14:09
|
(69) Метод должен делать что-то одно
Спасибо КЭП...только, это "одно" зависит от уровня абстракции...а она разная на разных уровнях представления предметной области |
|||
85
Valdis2007
15.11.24
✎
14:10
|
(81)с тех пор как то и не тянет к нему)
к Институту не тянет?) |
|||
86
Valdis2007
15.11.24
✎
14:12
|
(70) зато Геннадий возьмет с клиента свои (сколько он берет в час)...и уйдет, а что будет потом не его проблемы))
|
|||
87
maxab72
15.11.24
✎
14:15
|
а где опрос?
|
|||
88
Мультук
15.11.24
✎
14:15
|
(81)
– Они идиоты. – Они посвящены в рыцари! – Значит, официальные идиоты. (с) Король говорит P.S. У нас для воспитания духа правили чертежи красной ручкой. |
|||
89
VS-1976
15.11.24
✎
14:18
|
Вывалиться по условию из 3-го вложенного цикла for без goto практически нереально. По этому оператору goto быть.
|
|||
90
Valdis2007
15.11.24
✎
14:25
|
(89) математически обосновать сможете? или это Ваше оценочное суждение?
|
|||
91
VS-1976
15.11.24
✎
14:30
|
(22) 1с позволяет явно освобождать ресурсы. В запросе временные таблицы - уничтожить. В коде любой объект переменную и т.д. присвоив им Неопределено.
|
|||
92
Garykom
15.11.24
✎
14:31
|
(89) эмм, а как же выход (через Прервать в каждом вложенном) по условию через переменную?
|
|||
93
Garykom
15.11.24
✎
14:34
|
(90) уже давно математически обосновано что любой код с GOTO можно переписать без него
но не всегда он будет проще (и короче) |
|||
94
Garykom
15.11.24
✎
14:33
|
(93)+ аналогично с рекурсией, всегда можно обойтись без нее
и бывает приходится обходиться, если алгоритм превышает ее лимиты вложенности приходится переписывать на дико извращенный без рекурсии код на циклах или даже wiki:Конечный_автомат |
|||
95
VS-1976
15.11.24
✎
14:35
|
(90) Математически обосновывай сам, я бредом не занимаюсь. Вывалиться из
for for for Можно без goto повторяя проверки но какой идиот это будет делать? Goto самый лучший способ покинуть циклы. |
|||
96
Ногаминебить
15.11.24
✎
14:36
|
(92) Только вот Прервать - эта та же гоута, вид сбоку, как уже выше обсудили. :)
|
|||
97
Valdis2007
15.11.24
✎
14:38
|
(93) ты не понял... здесь математически надо доказать обратное.
Что есть алгоритмы , которые без го go to, невозможно реализовать |
|||
98
VS-1976
15.11.24
✎
14:38
|
Товарищи который бьются за чистоту кода не подозревают что их код на 20% состоит из goto когда их программа исполняется на машинном коде в камне.
|
|||
99
Волшебник
15.11.24
✎
14:40
|
(95) можно ещё так:
try for for for if (...) throw catch ... |
|||
100
Garykom
15.11.24
✎
14:40
|
(98) товарищи понимают что никаких goto на машинном коде нет
есть безусловный переход (который фактически вызов - переход к подпрограмме) и условный переход и все |
|||
101
Valdis2007
15.11.24
✎
14:40
|
(95) а почему тогда именно три? или 3 предел вашей краткосрочной памяти?
|
|||
102
Волшебник
15.11.24
✎
14:42
|
(100) в ассемблере безусловный переход (JMP) не является переходом к подпрограмме (CALL), поскольку не задействует стек
|
|||
103
Valdis2007
15.11.24
✎
14:42
|
(98) Занавес...
|
|||
104
Garykom
15.11.24
✎
14:42
|
(96) любой goto = break
ибо все вложенные цикла фактически брякаются |
|||
105
Волшебник
15.11.24
✎
14:43
|
(104) любой break по сути goto
|
|||
106
VS-1976
15.11.24
✎
14:43
|
(99) А зачем? Когда есть goto. Я сам его очень редко использую, но не стремаюсь. Кого так корежит goto загляните в ассемблер на jp, je, jc и т.д. всё построено. If в ассемблере это goto по условию.
|
|||
107
Garykom
15.11.24
✎
14:43
|
(102) ассемблер это не машинный код
это абстракция (ЯП) над ним |
|||
108
Волшебник
15.11.24
✎
14:45
|
(107) тогда так: в машкоде нет подпрограмм, а все их вызовы это работа со стеком и goto
|
|||
109
VS-1976
15.11.24
✎
14:47
|
(107) ты мне будешь чего-то тереть за assembler я на нескольких процессорах на нём писал. Понятно что человек не пишет сразу в шестнацеричном коде... И не какая это не абстракция. Сам ты абстракция assembler это представление директив процессора в понятном человеку языке.
|
|||
110
Garykom
15.11.24
✎
14:46
|
(108) ага
весь машкод это фактически goto и/или if .. then goto |
|||
111
Волшебник
15.11.24
✎
14:46
|
кто там хотел запретить goto? запретите себе ходить в туалет, когда надо
|
|||
112
Волшебник
15.11.24
✎
14:48
|
Жаль, что в языке запросов 1С нет Перейти. Это было бы полезно
|
|||
113
Garykom
15.11.24
✎
14:48
|
(109) буду wiki:Ассемблер
Ассе́мблер (от англ. assembler — сборщик) — транслятор программы из текста на языке ассемблера в программу на машинном языке. |
|||
114
Valdis2007
15.11.24
✎
14:48
|
(109) ты рассуждаешь как таксист, который очень много иездил....когда его спросили . возможен ли 6-тактный двигатель))
|
|||
115
Garykom
15.11.24
✎
14:49
|
(112) угу, язык запросов 1С это чистый SQL с расширениями
не T-SQL или PL/SQL |
|||
116
Мультук
15.11.24
✎
14:50
|
Интересно, сегодня до перфокарт дойдут ?
Или эта серия только завтра ? |
|||
117
VS-1976
15.11.24
✎
14:50
|
(113) Транслятор, а не абстракция. Абстракция это уже C, который вышел из библиотек макросов
|
|||
118
Valdis2007
15.11.24
✎
14:51
|
(116) за пятницу должны уложиться))
|
|||
119
Garykom
15.11.24
✎
14:52
|
(117) абстракция, потому что приближен к машкодам и обычно учитывает конкретную реализацию системы (архитектуру процессора)
но все же слегка абстрактен, для упрощения переноса кода на другие архитектуры |
|||
120
Valdis2007
15.11.24
✎
14:53
|
(117) Абстракция это уже C
...это пятничный вброс...шутка...или откровенияе чистого подсознательного? |
|||
121
Garykom
15.11.24
✎
14:54
|
(120) угу, С это уже ЯП высокого уровня, в отличие от ассемблера - языка программирования низкого уровня
|
|||
122
Волшебник
15.11.24
✎
15:01
|
(121) Сейчас JavaScript уже язык низкого уровня, в него компилируется код 1С
|
|||
123
Garykom
15.11.24
✎
14:55
|
(121)+ wiki:Язык_ассемблера
|
|||
124
VS-1976
15.11.24
✎
14:56
|
(119) абстракция это il код в net. А текст на assembler привязан к конкретному процессору. А вот С абстракция с помощью компилятора компилируется под разный процессор и ОС.
|
|||
125
Valdis2007
15.11.24
✎
14:56
|
"p-n переход в полупроводниках" это абстракция а? Ну-ка гуру машинных кодов, которые пуд ассемблеров без соли проживали и не поморщились, откликнетись?)
|
|||
126
Garykom
15.11.24
✎
14:56
|
(122) есть такое
что ЯП становятся все более и более высокоуровневыми тот же DSL это еще более высокий уровень абстракции как например тыкание мышкой в 1С |
|||
127
Garykom
15.11.24
✎
14:57
|
(125) абстракция конечно
ибо процессы на квантовом уровне |
|||
128
VS-1976
15.11.24
✎
15:00
|
(127) Ты сам абстракция ибо всё что есть проекция квантового мира
|
|||
129
Valdis2007
15.11.24
✎
15:02
|
(127) ибо процессы на квантовом уровне ...
Правильно! а теперь внимание, тк на квантовом уровне работает "вероятность", то ты и не знаешь , выполнит твой GO TO переход или не выполнит... как вам такое... адепты GO TO)) |
|||
130
Garykom
15.11.24
✎
15:02
|
(128) нет, только чужое субъективное мнение о человеке это абстракция
|
|||
131
Garykom
15.11.24
✎
15:04
|
(129) пофиг
там уже теория вероятности на множествах работает но да прикольно что от температуры и прочих параметров окружающей среды зависит вероятность выполнения goto )) |
|||
132
Волшебник
15.11.24
✎
15:04
|
(129) одновременно выполнит и не выполнит
wiki:Мультивселенная |
|||
133
VS-1976
15.11.24
✎
15:05
|
Вы что, по пятницам бухаете что ли?
|
|||
134
Valdis2007
15.11.24
✎
15:11
|
(132) одновременно выполнит и не выполнит
что и требовалась доказать! действие = противодействие... сумма, произведение, итд (подставьте любую операцию) = 0 НУЛЬ! ...отсюда следует - Необходимость в операторе GO TO = НУЛЬ . |
|||
135
Волшебник
15.11.24
✎
15:12
|
Всё началось со статьи Эдсгера Дейкстры «О вреде оператора goto» в 1968 году, в которой автор критиковал чрезмерное использование оператора goto в языках программирования той эпохи и пропагандировал вместо него структурное программирование.
wiki:Considered_harmful А теперь за единственную метку тебя готовы сожрать. Позор! Вспомните Дейкстру! Используйте GOTO в меру. |
|||
136
Волшебник
15.11.24
✎
15:21
|
|
|||
137
Ногаминебить
15.11.24
✎
15:17
|
(116) У меня помнится на первом курсе на экзамене один из вопросов был про алгоритм сортировки перфокарт.
|
|||
138
Garykom
15.11.24
✎
15:30
|
(137) сейчас ничуть не лучше
переведи на понятный программисту-разработчику язык термины: 1. "единицы трансляции" 2. "векторизация" ЗЫ Контекст - практическая работа по С/С++ и shell script (bash/sh) |
|||
139
Волшебник
15.11.24
✎
15:25
|
(138) 100 000 токенов — это много или мало?
|
|||
140
maxab72
15.11.24
✎
15:57
|
(139) вы покупаете или продаете?
|
|||
141
Конструктор1С
15.11.24
✎
18:40
|
(95) лесенка из for уже не намекает, а кричит "Код - говно! Декомпозиция - никакая!"
|
|||
142
Конструктор1С
15.11.24
✎
18:41
|
+(141) такой код надо рефакторить, а не qoto подпирать
|
|||
143
Конструктор1С
15.11.24
✎
18:44
|
(98) не придётся читать или дорабатывать машинный код. А рукописный код кому-то придется доработать
|
|||
144
Конструктор1С
15.11.24
✎
18:50
|
(126) ну какими более высокоуровневыми становятся ЯП? Всё то же самое, что в 80-90 годах. Приросло всяких фреймворков, вычислительных мощностей, а языки остаются теми же
|
|||
145
VS-1976
15.11.24
✎
19:07
|
(144) Более высокоуровневый язык это sql. Этот язык говорит что взять и не говорит как.
|
|||
146
VS-1976
15.11.24
✎
19:17
|
Как по мне Алиса вполне себе более высокоуровневый язык программирования. Говоришь включи кино и дамоино и готово 😁
|
|||
147
Garykom
15.11.24
✎
19:38
|
(144) VHLL, 4GL (SQL и 1С например) и 5GL (это уже хайповый ChatGPT)
5GL в конечном итоге придут к модулям - "магическим черным коробочкам" Когда на входе данные и некий "промпт", на выходе что надо (ну если повезет) |
|||
148
Garykom
15.11.24
✎
19:38
|
(145) да SQL это хороший пример популярного декларативного языка
его относят к 4GL и DSL |
|||
149
Конструктор1С
15.11.24
✎
19:55
|
(145) ну так-то никакой высокоуровневости тут нет. Просто декларативный синтаксис. А самое главное, sql 80-х годов мало чем отличается от современного
|
|||
150
Конструктор1С
15.11.24
✎
19:57
|
(147) в 1с вообще кастрированный sql
|
|||
151
Ненавижу 1С
15.11.24
✎
20:12
|
(144) просто языки довольно плавно эволюционируют. Без революций даже Делфи и паскаль уже разница. Дальше джава, Шарп и уже Котлин. И все они друг у друга обогащаются идеями.
Кто уж и стоит как в 90-х это 1с. Сделали правда "для каждого". А вот эти ждать/обещание добавили "чтобы было". Посмотрим на 1с: исполнитель. Опять велосипед свой изобрели, но хотя бы современный |
|||
152
Волшебник
15.11.24
✎
21:51
|
(151) ждать/обещание добавили, чтобы работал веб-клиент и мобильный клиент. Там асинхронность обязательна. Если страница/программа перестаёт отвечать (точнее возвращать управление) браузеру или мобильной ОС, то система считает её зависшей и предлагает закрыть.
|
|||
153
Garykom
15.11.24
✎
21:54
|
(152) старая асинхронность через ОписаниеОповещения ничем не хуже и работает аналогично
ждать/асинх - просто синтаксический сахар для "красивости" и "упрощения" |
|||
154
Garykom
15.11.24
✎
21:55
|
(153)+ но надо признать прогресс ЯП из подобных мелочей и состоит
|
|||
155
Конструктор1С
16.11.24
✎
04:27
|
(151) а что в том же котлине принципиально нового, чего не было в "старых" языках из 80-90-х годов?
|
|||
156
osa1C
16.11.24
✎
09:41
|
Столько лет в 1С и для меня стало откровением, что в 1С есть оператор безусловного перехода... Во как О_о
|
|||
157
Волшебник
16.11.24
✎
09:46
|
(155) В старых языках мало веселья, а в kotlin сплошной fun
|
|||
158
osa1C
16.11.24
✎
09:52
|
(157) Есть ли скрипт чтобы поле сообщений (правую колонку) раскрасить в другой цвет, кроме белого?
|
|||
159
Конструктор1С
16.11.24
✎
09:56
|
(157) оке
|
|||
160
Ненавижу 1С
16.11.24
✎
10:38
|
(155) например лямбда-выражения. Наверняка они есть в каком-нибудь языке 80-90х тоже. Но вот в паскале и прочих си не было, например
|
|||
161
Конструктор1С
16.11.24
✎
11:23
|
(160) их и в жаву завезли. А вообще функциональная парадигма программирования появилась одной из первых, годах так в 50-х. Как-то не тянет на новинку
|
|||
162
Конструктор1С
16.11.24
✎
11:25
|
Но кстати да, в последние десятилетия откопали функциональное программирование, и назначили его модным-молодёжным)
|
|||
163
Djelf
16.11.24
✎
15:27
|
А мне ответ GPT понравился (с небольшими исправлениями, заменил ГОТО , на GOTO) в стиле Маяковского.
GOTO! Код рвёшь пополам, Скачешь, как чёрт по строкам! Программист вопит: "Куда мне? Зачем мне? Как тут разобраться, токмо?" Стереть! Убрать! И помнить одно: GOTO — враг программы давно! |
|||
164
Ненавижу 1С
16.11.24
✎
22:32
|
(161) ожидал такой реакции. В целом соглашусь. Все равно в машинных кодах все в примитивные условные/безусловные джампы превращается. Ты еще скажи, что в айти кризис как у фиксина
|
|||
165
Конструктор1С
17.11.24
✎
08:14
|
(164) никакого кризиса нет. Айти развивается. Только то развитие уж давно перешло из плоскости "изобретём чудо-язык" в плоскость "научимся качественно кодить на существующих языках". В 1986-м Фредерик Брукс написал статью "Серебряной пули нет". В ней он описал, что из языков программирования уже выжато всё что можно, и больше никаких "революционных" ЯП не будет. Он был прав
|
|||
166
Ненавижу 1С
17.11.24
✎
11:59
|
(165) а кто-то ждет чудо-языка? Революции не будет, но идет медленная эволюция. Местами, к сожалению, в угоду маркетинга.
А вот 1с, мягко говоря, поотстали |
|||
167
Фокусник
17.11.24
✎
12:10
|
(0) Выходите из детской позиции. Считаете, что оправдано, используйте. Посчитаете иначе - Ваше право.
|
|||
168
Волшебник
17.11.24
✎
15:12
|
(165) (166) Вы оба так не любите 1С, что завели себе ники с этими буквами. Лицемеры!
|
|||
169
mmg
17.11.24
✎
16:01
|
(166) Революция, между прочим, уже идет. Новый язык программирования - естественный человеческий. И это принципиальный шаг вперед
|
|||
170
Djelf
17.11.24
✎
17:01
|
(169) И как там решается вопрос, в этой супер-пупер революции, по поводу "казнить нельзя помиловать"?
|
|||
171
Волшебник
17.11.24
✎
17:23
|
(169) Кстати, в нём есть Go To...
Epic Fail... |
|||
172
mmg
17.11.24
✎
17:48
|
(170) В чем вопрос? Сформулируйте внятно
|
|||
173
Tarzan_Pasha
17.11.24
✎
17:51
|
Я поверил, в то, что GoTo использовать нельзя когда после бейсика начал изучать паскаль в 10-11 классе и Си на первом курсе. Но когда мы начали изучать ассемблер, в котором всё строится на условных и безусловных переходах, то запутался. мне и try .. catch не нравится.
Раньше всё было четко: Программа должна иметь один вход и один выход. Сейчас про GoTo вообще нет смысла задумываться. Всё решает архитектура. Но я не использую нигде этот оператор перехода. |
|||
174
Волшебник
18.11.24
✎
09:44
|
(173) Надо знать все конструкции языка, на котором активно пишешь. Да, можешь не использовать, но если вдруг встретится, то будешь знать, что это такое и куда дальше смотреть.
Вот я по себе вспоминаю, что мне не нравилось: - процедуры/функции - запросы SQL - попытки...исключения - классы/неймспейсы - лямбды (стрелочные функции) - AJAX - оформление через CSS - языки конфигурационных файлов - отдельный язык jQuery - регулярные выражения - слоистая архитектура - MVC-архитектура - блочная вёрстка Зато теперь всё применяется в движке форума. И даже присутствует блочная вёрстка местами. |
|||
175
Ненавижу 1С
18.11.24
✎
09:44
|
(174) легче было перечислить, что нравилось, похоже
|
|||
176
Волшебник
18.11.24
✎
09:46
|
(175) запросы в цикле
|
|||
177
Ненавижу 1С
18.11.24
✎
09:56
|
(176) ну хорошо не наоборот )))
|
|||
178
Волшебник
18.11.24
✎
09:57
|
(177) Все запросы разворачиваются в циклы, чтобы Вы знали.
|
|||
179
Ненавижу 1С
18.11.24
✎
10:51
|
(178) внутри машины условные и безусловные джампы. Но ребята, это же не значит, что в высокоуровневом программировании надо такое писать
|
|||
180
Garikk
18.11.24
✎
10:53
|
(173) <Я поверил, в то, что GoTo использовать нельзя когда после бейсика >
Ты писал на бейсике после которого его использование стало плохим? ты в курсе что он в середине 80х (именно тот самый бейсик) устарел, и претензии к goto стали неактуальны? сейчас практически ни одного языка нельзя найти (кроме си разве что) где тот старорежимный goto можно использовать, ассемблер не считаем |
|||
181
Волшебник
18.11.24
✎
10:56
|
(179) Ваше "высокоуровневое" скоро станет "низкоуровневым", потому что все перейдут на языки промтов, написанных простым человеческим языком, а в нём есть "Перейти".
|
|||
182
Eiffil123
18.11.24
✎
13:06
|
(178) даже "ВЫБРАТЬ 1" ?
|
|||
183
Волшебник
18.11.24
✎
13:11
|
(182) Конечно. Это цикл с известным числом повторений.
Для н=1 По &ПервыеСколько Цикл ... КонецЦикла; или Пока НабраноЭлементов < &ПервыеСколько Цикл ... НабраноЭлементов = НабраноЭлементов + 1; КонецЦикла; или Пока Истина Цикл НабраноЭлементов = НабраноЭлементов + 1; ... Если НабраноЭлементов >= &ПервыеСколько Тогда Прервать; КонецЕсли; КонецЦикла; |
|||
184
Волшебник
18.11.24
✎
13:21
|
Цикл "Для" является синтаксическим сахаром для цикла "Пока (условие) Цикл".
Цикл "Пока (условие)" является синтаксическим сахаром для бесконечного цикла "Пока Истина Цикл... Если (условие) Прервать". Бесконечный цикл является синтаксическим сахаром для "условного GoTo (jump if)": JE - переход если равно
JNE - если не равно JAE, JNB - если больше или равно JNAE, JB - если меньше JA, JNBE - если больше JNP, JPO - если нечетное JP, JPE - если четное (PF) JZ - если ноль JNZ - если не ноль JNS - если больше нуля JS - если меньше нуля (SF) JC - если установлен флаговый регистр CF |
|||
185
Ненавижу 1С
18.11.24
✎
13:28
|
(184) Правильно! Пора вернуться к корням! Напридумывали тут... Только ассемблер! Лучше конечно сразу машинный код
|
|||
186
Волшебник
18.11.24
✎
13:33
|
(185) Машинный код? А программирование путём переключения проводов не хотите ли?!
![]() ENIAC, 1946 г Машинный код ещё надо разработать! В 1948 году фон Нейман упростил программирование для ENIAC, ввёл хранение программы в памяти и jump-return |
|||
187
Eiffil123
18.11.24
✎
14:19
|
(184) для организации циклов есть команда LOOP со счетчиком на регистре CX. Если учитывать то, что приведенные выше команды ассемблера порождают разные машинные коды, то называть это синтаксическим сахаром не очень то корректно
|
|||
188
Волшебник
18.11.24
✎
14:32
|
(187) Разные конструкции синтаксического сахара может порождать разные коды после компиляции в машинный код или промежуточный. Иногда компилятор даже разворачивает циклы в последовательность, чтобы было быстрее.
Сами циклы — это синтаксический сахар для очень длинной последовательности. |
|||
189
Eiffil123
18.11.24
✎
14:37
|
(188) ну тогда почти всё в программировании синтаксический сахар
|
|||
190
Волшебник
18.11.24
✎
14:41
|
(189) Так и есть. Поэтому не надо запрещать кушать коричневый сахар типа GoTo, если Вы привыкли к белому рафинаду. Коричневый — это, может, тростниковый. Он вполне может оказаться зожным-зожным.
|
|||
191
АгентБезопасной Нацио
18.11.24
✎
14:48
|
Проблемы не с самим безусловным переходом, а с его без[д]умным использованием. Даже на фортране, да и ассемблерах (и 80/z80, и М11, и 48/51), после "осмысления" метода структурного программирования, использование переходов изменилось на столько, что по сути это было "неиспользование goto", хотя команд перехода ("jmp","br","*jmp") в коде было дофига.
И я даже не и помню, когда был необходим безусловный переход в 1с, и в с/с++. Не натыкался на такую ситуацию. Даже в реализации конечных автоматов. (187) НЯП, loop это "счетный цикл", а циклы счетным не ограничиваются. Хотя на 86 асме я почти не писал... |
|||
192
АгентБезопасной Нацио
18.11.24
✎
14:49
|
(190) не всё то сахар, что коричневое...©
|
|||
193
Волшебник
18.11.24
✎
14:51
|
(192) Я так и знал, что будут такие аллюзии
|
|||
194
АгентБезопасной Нацио
18.11.24
✎
14:51
|
(193) в оригинале было про шоколад...
|
|||
195
VS-1976
18.11.24
✎
15:00
|
(184) цикл есть в в assembler
Mov cx,10 Метка ... Loop Метка |
|||
196
АгентБезопасной Нацио
18.11.24
✎
15:02
|
(195) ассемблеры бывают разные...
|
|||
197
VS-1976
18.11.24
✎
15:04
|
Я лично не вижу проблем с goto, если нет злоупотреблений и он упрощает код. Типа зачем много проверок, когда можно выскочить из циклов. Но за злоупотребление нужно отстреливать, так как затрудняет читаемость кода.
|
|||
198
VS-1976
18.11.24
✎
15:06
|
(196) для z80 также есть цикл
|
|||
199
Волшебник
18.11.24
✎
15:08
|
(197) Тоже не вижу никакой проблемы в разумном использовании GOTO, например, раз в полгода. Откуда эти холиварщики берутся? Наверное, это всё чайники, начитавшиеся Дейкстры, Вирта, и так и не вышедшие за пределы студенческих учебников.
![]() |
|||
200
Конструктор1С
18.11.24
✎
15:13
|
(190) а может сразу послать здравый смысл, и писать в двоичном коде?
|
|||
201
maxab72
18.11.24
✎
15:14
|
Главное, чтоб не сделали goto обязательным, со сдачей отчетности... и повышенным соцобязательствами по его использованию в народном хозяйстве.
|
|||
202
Волшебник
18.11.24
✎
15:19
|
(200)
copy con program.exe |
|||
203
Eiffil123
18.11.24
✎
15:39
|
раньше программистам запрещали использовать goto, а теперь запрещают запросы в цикле
|
|||
204
Волшебник
18.11.24
✎
15:46
|
(203) Да-да. Откуда только берутся эти безумные запреты?
|
|||
205
maxab72
18.11.24
✎
15:53
|
(203) а еще обращаться к реквизитам ссылки через три точки...
|
|||
206
Волшебник
18.11.24
✎
16:04
|
(205) Тоже не понимаю. Ну обратись, если надо. Платформа сама добавит соединения.
Нет же. Некоторые сами вручную пишут эти соединения, лишь бы не было этих трёх точек. Ругают же... |
|||
207
VS-1976
18.11.24
✎
20:23
|
(205) можно, если реквизит не составной, хотя если обращение одно, то можно закрыть глаза. Если в запросе, то для реквизита составного можно использовать "выразить". А иногда даже полезна точка, чтобы не писать все соединения, а реквизит к примеру общий. Проблема не в точках, а в том, что ты понимаешь что творишь. А это требует понимания что происходит под капотом.
|
|||
208
Chai Nic
19.11.24
✎
08:23
|
Надо было запретить изначально обращение через точку от реквизита составного типа.
Вместо этого лучше бы ввели новую сущность "классы объектов" с общими реквизитами для всего класса. Создал класс "Документы расчетов с контрагентами", и там был бы общий реквизит "Контрагент", например. И множественное наследование, само собой, при описании конкретного вида объекта. И реквизиты класса бы хранились в отдельной таблице "объекты класса", с ключом-ссылкой объекта. Никакого дублирования и никаких монстровидных запросов с объединением кучи таблиц. Но это конечно уж слишком круто. Почти ООП. |
|||
209
Волшебник
19.11.24
✎
09:26
|
(208) Наследование — отстой. Гранды мирового ООП уже отказываются от наследования в пользу композиции и интерфейсов.
Implementation inheritance is controversial among programmers and theoreticians of object-oriented programming since at least the 1990s. Among them are the authors of Design Patterns, who advocate interface inheritance instead, and favor composition over inheritance.
https://en.wikipedia.org/wiki/Inheritance_(object-oriented_programming)#Issues_and_alternatives Наследование реализации является спорным вопросом среди программистов и теоретиков объектно-ориентированного программирования, по крайней мере, с 1990-х годов. Среди них есть авторы шаблонов проектирования (Design Patterns), которые выступают за наследование интерфейса и предпочитают композицию наследованию. |
|||
210
Тихий омут
19.11.24
✎
09:47
|
(198) DJNZ. А, не - LDIR/LDDR - во моща!
|
|||
211
Конструктор1С
19.11.24
✎
11:18
|
(208) махровое дублирование в пофигураторах не из-за отсутствия ООП, а из-за низкой культуры разработки среднего 1сника. С ООП станет только хуже
|
|||
212
Конструктор1С
19.11.24
✎
11:20
|
(209) зато полиморфизм с инкапсуляцией стали рулить ещё сильнее
|
|||
213
Eiffil123
19.11.24
✎
11:52
|
(208) ну это концепция не классов, а скорее интерфейсов
|
|||
214
Chai Nic
19.11.24
✎
12:51
|
(213) Тут класс в смысле классификации, а не в том, в каком это принято в ООП
|
|||
215
petr_ivanov
naïve
21.11.24
✎
17:25
|
(206) "Тоже не понимаю. Ну обратись, если надо. Платформа сама добавит соединения.
Нет же." прошу ликбеза. я слышал, причем не один раз,что если обратиться с точкой, то это приведет к получению всех полей в левом соединении. или это к запросам не относится, а только из кода? ну вот есть справочник, а там поле, у которого тип другой справочник и мне нужны поля этого второго справочника. с точки зрения производительности разве вариант без точки не будет более выигрышным, чем с точкой? |
|||
216
Волшебник
21.11.24
✎
17:41
|
(215) Сделайте замер производительности и доложите.
|
|||
217
1Снеговик
21.11.24
✎
17:51
|
(0) можно, но чтобы никто не видел. Особенно на собеседовании.
|
|||
218
Eiffil123
21.11.24
✎
17:52
|
(215) про запросы была такая версия, что оптимизатор запросов крайне тупой, и если ты обращаешься к реквизитам одного и того же поля через точку несколько раз, то на каждую точку он делает левое соединение.
другие говорят что это всё чепуха |
|||
219
petr_ivanov
naïve
21.11.24
✎
18:08
|
(216) на большой базе проверить возможности нет, а на моей разницы не будет
(218) т.е. это именно что версия? а официальная информация какая-нибудь есть? в общем, я правильно понимаю, что в запросах через точки обращаться, если нужна информация о полях ссылочных полей - это нормально? |
|||
220
Волшебник
21.11.24
✎
18:11
|
(218) это чепуха
(219) нормально |
|||
221
petr_ivanov
naïve
21.11.24
✎
18:19
|
(220) спасибо!
|
|||
222
Eiffil123
22.11.24
✎
10:04
|
(219) на мой взгляд, читаемость запроса очень часто важнее этой мнимой оптимизации. Поэтому обращаться через точку можно, если ваш запрос не создает проблем со скоростью или ресурсами.
|
|||
223
Волшебник
22.11.24
✎
16:08
|
Свежая статья на тему:
https://habr.com/ru/companies/piter/articles/860558/ Есть примеры, как правильно обращаться с Goto |
|||
224
Конструктор1С
23.11.24
✎
04:54
|
(223) правильное использование гото: не использовать гото
|
|||
225
Кирпич
23.11.24
✎
12:12
|
goto всегда использовали, используют и будут использовать. Большинство языков имеют этот оператор, потому что он тупо нужен. А писать херню можно и любыми другими операторами.
|
|||
226
Конструктор1С
23.11.24
✎
14:10
|
(225) тупо нужен для чего?
|
|||
227
Ненавижу 1С
23.11.24
✎
15:43
|
(225) Обычно когда он нужен - достаточно выделить часть кода в отдельный метод
|
|||
228
Кирпич
23.11.24
✎
16:16
|
(226) Посмотри исходники любого серьёзного проекта (CPython например). Там этих goto навалом. Вот посмотри и догадайся зачем нужен goto.
|
|||
229
Волшебник
23.11.24
✎
16:19
|
(228) Я тоже удивляюсь, когда мне запрещают использовать конструкцию языка. Она ж в нём есть, значит использовать МОЖНО. Не надо доводить до абсурда: ноль GoTo или миллион GoTo. Ну пару раз можно-то?
|
|||
230
Кирпич
23.11.24
✎
16:23
|
(227) Ну так выделяй на здоровье. А если кому то нужна скорость, то такие выделения всё испортят.
И еще бывает, что программы пишут не программисты, а программы. И такие программы читать никому не надо. Например yacc и lex генерят код с кучей goto. |
|||
231
Кирпич
23.11.24
✎
16:33
|
(229) Так никто и не запрещает. Просто переступаешь через психа и пишешь goto где надо.
|
|||
232
Волшебник
23.11.24
✎
16:35
|
(231) А потоптаться по психу можно?
|
|||
233
Кирпич
23.11.24
✎
16:47
|
(232) это надо у него спросить. может он ради этого топтания и докопался до goto.
|
|||
234
AlexBor
23.11.24
✎
19:07
|
))) Нас в универе перпод называл сбрищем гоо тушников )))) Давно это было )))
|
|||
235
Конструктор1С
24.11.24
✎
06:41
|
(228) в серьёзных проектах и говнокода хватает. Но это не значит, что "говнокод тупо нужен"
|
|||
236
Конструктор1С
24.11.24
✎
06:50
|
(229) когда-то на C++ писались бизнесовые приложения, со всеми этими ссылками, указателями, макросами и прочей плюсовой лабудой. Потом появились Java, C#, и оказалось что бизнесовые приложения прекрасно пишутся без плюсовой лабуды, и вовсе не обязательно простреливать себе коленки. GoTo из той же оперы, но потяжелее: средство отстрелить себе обе ноги, без которого прекрасно программируется. И я не понимаю, зачем вы так топите за GoTo. Хотите острых ощущений - кодьте на C++, на одних только указателях вдоволь намучаетесь
|
|||
237
Волшебник
24.11.24
✎
09:59
|
(236) Говнокод — это не конкретная инструкция, а состояние души. Можно и в СКД наговнокодить
Отбор или параметр по двум датам в СКД |
|||
238
Кирпич
24.11.24
✎
10:37
|
(236) "И я не понимаю, зачем вы так топите за GoTo"
так никто не топит за goto. Есть люди, которые относятся к goto абсолютно ровно, а есть которые неистово топят против goto. goto всегда будет и не надо ссать против ветра. Маньяки какие то ей богу. |
|||
239
Кирпич
24.11.24
✎
10:43
|
+(238) в C#, кстати, есть goto. Да и в Java есть какая то фича типа goto для перехода на метку.
|
|||
240
Кирпич
24.11.24
✎
10:45
|
golang вон, с утра придуманный, и тот с goto
|
|||
241
Конструктор1С
24.11.24
✎
11:24
|
(238) ссать против ветра - это использовать GoTo в коде. Все "доброкачественные" версии GoTo и так уже реализованы в каждом языке (возврат, продолжить, цикл и пр.). А если тебе понадобилось подпереть свой код настоящим GoTo, то это заведомо будет "злокачественная" версия GoTo, привносит она только проблемы и запутанность в код
|
|||
242
Конструктор1С
24.11.24
✎
11:26
|
(239) и что, что есть? За их использование получишь линейкой по рукам на первом же кодревью
|
|||
243
Конструктор1С
24.11.24
✎
11:27
|
(237) GoTo - средство элитных говнокодеровх
|
|||
244
Кирпич
24.11.24
✎
12:12
|
(242) "линейкой по рукам на первом же кодревью"
Если применение goto оправдано, то никто тебя линейкой бить не будет. Посмотри исходники CPython или SQLite. Там этих goto навалом. А маньяки не делают кодревью. Они сидят на форумах и ноют про плохой goto, про Delphi умер и т.п. |
|||
245
Злопчинский
24.11.24
✎
12:22
|
(227) угу, и передать туда с десяток параметров... такс, надо сделать рефакторинг... и понеслось...
|
|||
246
Ненавижу 1С
24.11.24
✎
12:26
|
(244) от контекста сильно зависит. В C оправдано может быть, в ассемблере без него сложно. В джава/шарпе - лучше без него
|
|||
247
Ненавижу 1С
24.11.24
✎
12:28
|
(245) если требуется десяток параметров, то что-то с архитектурой опять же
Понятно, что есть принцип работает - трожь, но потом мы же и говорим "ой это замшелый Легаси -лучше его не трогать" |
|||
248
Конструктор1С
24.11.24
✎
13:02
|
(244) нет никаких оправданий GoTo
|
|||
249
Конструктор1С
24.11.24
✎
13:06
|
(245) а это уже верный признак того, что твой код делает всё и сразу
|
|||
250
Aleksey
24.11.24
✎
13:20
|
(248) почему? Предупреждение на сервере в модуле проведения это говнокод? Давайте всех кто использует предупреждение объявим еретиками и сожжем на костре!
|
|||
251
Конструктор1С
24.11.24
✎
13:35
|
(250) потому что GoTo запутывает код, делает его трудным для понимания и изменения. Мало?
|
|||
252
Конструктор1С
24.11.24
✎
13:41
|
+(251) спагетти-код, слышал о таком?
|
|||
253
Dedal
24.11.24
✎
14:44
|
(220) Вот после таких заявлений и требуется пинать франчайзи выпустившего конфигурацию, что благодаря его запросам через три точки отчет вообще не формируется. потому что пока там мало записей в таблице это все не влияет, а на боевой базе вдруг выясняется оно вообще не работает, записей слишком много добавьте скулю 100500 гб оперативы.
|
|||
254
Ненавижу 1С
24.11.24
✎
14:51
|
(250) предупреждение на сервере уже невозможно. Я же говорю - всякому инструменту свое применение
|
|||
255
Aleksey
24.11.24
✎
14:56
|
(251) Ну да 100500 вложенных процедур в типовой пипец как облегчает понимание. Это вам не GoTo
|
|||
256
Aleksey
24.11.24
✎
14:58
|
(254) так может и GoTо как инструмент обфускации кода тоже имеет право на жизнь?
|
|||
257
Ненавижу 1С
24.11.24
✎
16:51
|
(256) имеет
|
|||
258
Ненавижу 1С
24.11.24
✎
16:52
|
(255) архитектура платформы 1с мягко говоря уже не торт под поставленные задачи. Но мы держимся. Ведь держимся?
|
|||
259
Конструктор1С
24.11.24
✎
16:56
|
(255) то, что тебе приходится пробираться через 100500 процедур, так это последствия говнищенской декомпозиции и сильных зависимостей. C GoTo ситуация ухудшилась бы многократно
|
|||
260
Волшебник
24.11.24
✎
17:02
|
(256) как инструмент обфускации кода можно использовать любой говнокод. GoTo тут совершенно не при чём.
|
|||
261
Волшебник
24.11.24
✎
17:03
|
(258) Мы держимся, а вот Вас держим на учёте и под присмотром. Это ж надо на форуме 1С-ников придумать ник "Ненавижу 1С"!
|
|||
262
Волшебник
24.11.24
✎
17:19
|
(253) Вы просто не умеете их готовить.
|
|||
263
Волшебник
24.11.24
✎
17:31
|
(248) Нет никаких оправданий запрету любой конструкции или оператора, которая существует на базовом уровне, штатно.
Если у Вас проблемы с восприятием базового уровня языка/платформы, то Ваша токсичность наверняка полезет на следующий уровень и там Вас ждёт Ваш личный ад. Там Вы будете плеваться и блеваться, глядя на программный код любого, кроме себя. Это офигенный ад для программистов-перфекционистов. Был бы я дьяволом, я бы именно такой придумал. 🔥 |
|||
264
Волшебник
24.11.24
✎
17:23
|
Кстати, в движке мисты GoTo используется... сейчас посчитаю... 0 раз.
Странно... Не пригодилось. Но я себе не запрещаю. |
|||
265
Волшебник
24.11.24
✎
17:26
|
(251) GoTo РАСПУТЫВАЕТ код и делает его ЛЕГЧЕ для понимания и изменения.
|
|||
266
Конструктор1С
24.11.24
✎
19:17
|
(265) бред!
Грёбаный стыд) Несколько лет назад запилил топик про TDD. 1Сники хором доказывали, что оно нафиг не нужно. Сейчас вот хором доказывают, что GOTO нужно. Верной дорогой идём, товарищи! А потом удивляемся, что 1сников за недопрограммистов считают |
|||
267
Волшебник
24.11.24
✎
19:02
|
(266) Ты сам бред! Никаких конструкторов 1С не существует!
|
|||
268
Конструктор1С
24.11.24
✎
19:06
|
(263) ну уж так сильно-то передёргивать не надо. Если без GoTo, то сразу перфекционизм, ага. Я вообще-то про то, что в нашем грешном мире 1с и так говнокод как стандарт. Не хватало ещё за GoTo топить, ну, с его помощью говнокод выйдет на принципиально новый уровень!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |