Показать сообщение отдельно
Старый 23.06.2011, 14:27   #11  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Тоже выношу оператор условия в начало строки.

where (...)
AND (...)
AND (...)

Причины те же:

1. Наглядность (для меня)
2. Удобство добавления/удаления условий

Трачу время на выравнивание для повышения наглядности кода.

Для сложного условия постараюсь визуально выделить "не очевидные" операторы сравнения

X++:
    while select bankClientPayment_RU
        where bankClientPayment_RU.RContractAccount
        notexists join RContractTable
        where (
                (   RContractTable.RContractPartnerType == RContractPartnerType::Cust
                    && BankClientPayment_RU.PartnerType == ModuleCustVend::Cust)
                ||
                (   RContractTable.RContractPartnerType == RContractPartnerType::Vend
                    && BankClientPayment_RU.PartnerType == ModuleCustVend::Vend)
              )
           && RContractTable.RContractAccount   == bankClientPayment_RU.RContractAccount
           && RContractTable.RContractCode      == bankClientPayment_RU.RContractCode

То же самое делаю с математическими знаками в длинных выражениях

X++:
value = value1
            + value2
            - value3;
По тем же причинам.

Также, зачастую выношу запятые в списке параметров в начало

X++:
this.MyMethod(param1
                            ,param2
                            ,param3
                            );

container = [
                         value1
                        ,value2
                        ,value3
                        ];
Причина в том, что в случае добавления/удаления параметров, скорее всего, это надо будет сделать в конце списка параметров, а не в начале. В этом случае запятая в начале просто удобнее.

PS: Или я не понял формулировку голосования, или она противоречит нумерации примеров, приведенных в первом посте. Я так понимаю, что формулировка "оператор ДО условия" соответствует примеру №2 первого поста. Или это не так надо понимать?