|
Философский вопрос о коде | ☑ | ||||||
---|---|---|---|---|---|---|---|---|
0
quest
03.06.12
✎
17:07
|
Вот два примера условного кода. Они эквивалентны. Что делает УсловиеВыполнено() - не важно сейчас.
1. Функция Вариант1(ТЗ) для каждого х из ТЗ цикл если УсловиеВыполнено(х) тогда возврат истина; конецЕсли конецЦикла; возврат ложь; КонецФунции 2. Функция Вариант2(ТЗ) результат = ложь; для каждого х из ТЗ цикл если УсловиеВыполнено(х) тогда результат = истина; прервать конецЕсли конецЦикла; возврат результат; КонецФунции Но вот какой из варинатов лучше? |
|||||||
1
kuromanlich
03.06.12
✎
17:08
|
имхо
1 вариант |
|||||||
2
Sakura
03.06.12
✎
17:10
|
мне 1 нравится больше
1 вариант |
|||||||
3
Агент Инфостарта
03.06.12
✎
17:11
|
Первый вариант неправославный с точки зрения пуритан от программирования. Процедура или функция должна иметь одну точку выхода.
А так первый, он короче. 1 вариант |
|||||||
4
Doomer
03.06.12
✎
17:12
|
По моему более читаемый.
1 вариант |
|||||||
16
Wobland
03.06.12
✎
17:55
|
извращенец. конечно
1 вариант |
|||||||
45
Партизан
03.06.12
✎
18:26
|
не надо плодить лишние сущности, в данном случае переменная "результат"
1 вариант |
|||||||
84
Партизан
03.06.12
✎
18:44
|
(80) на асме будешь писать jmp к концу функции вместо того чтобы сразу retn ?
я за быстродействие и минимальное использование памяти 1 вариант |
|||||||
85
Mort
03.06.12
✎
18:44
|
В дремучие времена отсутствия модульного программирования, структур данных и областей видимости, функции были на 8-20 листов (экранов). И затерять возврат из такой функции в центре кода было не совсем этично. Сейчас, когда функция больше одного-двух экранов уже смахивает на г-код, возврат из середины функции гораздо лучше читается чем переход в конец модуля.
1 вариант |
|||||||
106
DimVad
03.06.12
✎
19:12
|
Первый вариант быстрее и легче читается - требует меньше "мозговых тактов" ;-)
1 вариант |
|||||||
109
0_Serg_0
03.06.12
✎
21:38
|
однозначно первый красивше
...но согласен с ораторами считающими как в (22) 1 вариант |
|||||||
111
orefkov
03.06.12
✎
21:42
|
"Make it as simple as possible, but not simpler" (с)
Делай так просто, насколько возможно, но не проще. 1 вариант |
|||||||
113
dklushin
03.06.12
✎
22:19
|
вариант 1
1 вариант |
|||||||
125
iceman2112
03.06.12
✎
23:35
|
Это же очевидно
1 вариант |
|||||||
131
AlexSmolensky
04.06.12
✎
00:21
|
(0) Утверждение, что "функция должна иметь одну точку выхода". Вероятно пошло с тех пор, когда программисты заботились о создании переменных в памяти в начале функции и очистке памяти от временных переменных при её завершении. В те времена, конечно вариант 2) будет однозначно правильным. Но сегодня платформа 1С сама об этом заботится.
Первый вариант чуть лучше читается (меньше строк). Других аргументов не вижу. 1 вариант |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |