|   |   | 
| 
 | Немного про сложности представления. Какой вариант легче читать? | ☑ | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0
    
        Галахад гуру 14.06.23✎ 14:53 | 
 
        Вариант 1
 Если А Тогда Если Б Тогда ... КонецЕсли; Если С Тогда ... КонецЕсли; Иначе Если Д Тогда ... КонецЕсли; КонецЕсли; Вариант 2 Если А и Б Тогда ... КонецЕсли; Если А и С Тогда ... КонецЕсли; Если НЕ А Тогда Если Д Тогда ... КонецЕсли; КонецЕсли; | ||||||||||
| 1
    
        SleepyHead гуру 14.06.23✎ 14:52 | 
        (0) Разница непринципиальна.     | ||||||||||
| 2
    
        Волшебник 14.06.23✎ 14:53 | 
        1-й лучше     Вариант 1 | ||||||||||
| 3
    
        majkk 14.06.23✎ 15:02 | 
        (0) Одинаково легко. Тренируйте кратковременную память, тогда и вопросов таких возникать не будет.
 Ваш вопрос странный. Кому должно быть легче читать? Интерпретатору? Ему пофиг. Настоящему программисту? Ему тоже пофиг. Непрограммисту? Так и ему пофиг! Но уже совсем по другой причине, он ни первое, ни второе не поймет. Начинающему программисту? А зачем ему делать легче? Пусть читает что посложнее и тренирует кратковременную память | ||||||||||
| 4
    
        Галахад гуру 14.06.23✎ 15:04 | 
        Пытаюсь понять почему эта самая сложность считается именно так:
 void myMethod () { try { if (condition1) { // +1 for (int i = 0; i < 10; i++) { // +2 (nesting=1) while (condition2) { … } // +3 (nesting=2) } } } catch (ExcepType1 | ExcepType2 e) { // +1 if (condition2) { … } // +2 (nesting=1) } } // Cognitive Complexity 9 | ||||||||||
| 5
    
        Галахад гуру 14.06.23✎ 15:05 | 
        (3) Дурацкий подход. Процедуры в 1000 строк кода и запросы на 20 экранов не улучшают удобство разработки.     | ||||||||||
| 6
    
        Ногаминебить 14.06.23✎ 15:06 | 
        Но во втором логичнее же 
 Если Не А и Д тогда КонецЕсли; Вариант 1 | ||||||||||
| 7
    
        НафНаф 14.06.23✎ 15:07 | 
        (0) упрощенно:
 Если А Тогда Действие1(); Иначе Действие2(); КонецЕсли; внутри методов свои одноуровневые условия | ||||||||||
| 8
    
        majkk 14.06.23✎ 15:09 | 
        (4) Из текста непонятно? Там же все расписано +1,+2,+3     | ||||||||||
| 9
    
        majkk 14.06.23✎ 15:15 | 
        (5) Смотря что считать удобством. За разбор одного запроса на 20 экранов с заказчика можно взять очень много денег. И это удобно. Разве нет? )))     | ||||||||||
| 10
    
        Eiffil123 14.06.23✎ 15:18 | 
        (9) а заказчику не пофиг, вы 20 экранов запроса разобрали или 1 строку? откуда он узнает?     | ||||||||||
| 11
    
        РусКомп 14.06.23✎ 15:18 | 
        Если А И Б Тогда
 ... ИначеЕсли А И С Тогда ... ИначеЕсли Д Тогда ... КонецЕсли; | ||||||||||
| 12
    
        РусКомп 14.06.23✎ 15:19 | 
        Если А И Б Тогда
 ... ИначеЕсли А И С Тогда ... ИначеЕсли не А и Д Тогда ... КонецЕсли; Другой вариант | ||||||||||
| 13
    
        Мультук гуру 14.06.23✎ 15:23 | 
        (12) Я за этот вариант     Другой вариант | ||||||||||
| 14
    
        Eiffil123 14.06.23✎ 15:31 | 
        (11) чем с ИначеЕсли лучше?     | ||||||||||
| 15
    
        mikecool 14.06.23✎ 15:32 | 
        (7) +1     | ||||||||||
| 16
    
        Мультук гуру 14.06.23✎ 15:36 | 
        (14) 
 Тем что легко и просто исчезает малейшая иллюзия (просто при чтении), что какие-то действия могут быть выполнены несколько раз. В вариант1 и вариант2 это придется анализировать и помнить. | ||||||||||
| 17
    
        Новый1сник2 14.06.23✎ 15:45 | 
        (12) норм     Другой вариант | ||||||||||
| 18
    
        Aleksey 14.06.23✎ 15:55 | 
        А разве во втором варианте не будет тратиться время на постоянное вычисление чему равно А     Вариант 2 | ||||||||||
| 19
    
        majkk 14.06.23✎ 15:56 | 
        (10) Из выставленного счета, Ватсон!     | ||||||||||
| 20
    
        Волшебник 14.06.23✎ 15:56 | 
        (18) можно вычислить один раз и загнать в переменную     | ||||||||||
| 21
    
        Ногаминебить 14.06.23✎ 15:57 | 
        (12) Стоп. А как же вариант, когда А Б С истина и должны выполниться 1 и 2 условие последовательно?     | ||||||||||
| 22
    
        KJlag 14.06.23✎ 16:04 | 
        (0) я подсел на такое:
 загнать в функцию/процедуру Если А Тогда Если Б Тогда ... Возврат; КонецЕсли; //Если С ... Возврат; КонецЕсли; Если Д Тогда ... КонецЕсли; но если выбирать из 1 и 2, то 2, ибо большие "если" на 1-2 страницы меня напрягают, а если еще туда добавить "иначе" Другой вариант | ||||||||||
| 23
    
        ptiz 14.06.23✎ 19:17 | 
        Однозначно     Вариант 1 | ||||||||||
| 24
    
        Bigbro 15.06.23✎ 06:45 | 
        от ситуации зависит и от условий.
 иногда они логически связаны из контекста иногда нужно просто перебрать все варианты по если иначе иногда нас действительно интересует лишь пара сочетаний и одно невыполнение, на все остальное плевать. в общем объединять условия имеет смысл только если именно их совместное выполнение несет какую то смысловую нагрузку. Если ЭтоРабочаяБаза Тогда Если а Тогда ... Иначе ... КонецЕсли; Иначе // копия Если б Тогда .. КонецЕсли; КонецЕсли; вот тут объединять ничего не нужно - условие проверки рабочая база или нет никак не связано с бизнес логикой. Другой вариант | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |