Мой вопрос относится к этому предыдущему вопросу, но предлагаемые решения не устраняют проблему, описанную ниже. После поиска google я не нашел никаких правил стиля кода, которые касаются конкретной проблемы длинных условных выражений в инструкции if, подобной этой.
if( isNull(value1) ||
isToLong(value1) ||
hasBadFormat(valule1)){
doSomething();
}else{
doSomethingElse();
}
ИЛИ
if( isNull(value1) || isToLong(value1) || hasBadFormat(valule1) ){
doSomething();
}else{
doSomethingElse();
}
Проблема с этими двумя стилями заключается в том, что мне трудно найти код в истинном блоке и отделить его от условных выражений, или это слишком сложно для глаз, чтобы определить правильную следующую строку после long conditional на одной строке, особенно если в выражении if уже есть отступы нескольких вкладок внутри функции или других операторов if.
Было бы предпочтительнее сделать что-то вроде этого:
if( isNull(value1) ||
isToLong(value1) ||
hasBadFormat(valule1)){
doSomething();
}else{
doSomethingElse();
}
или будет ли этот стиль лучше отступать каждое новое условие одним из следующих способов:
if( isNull(value1) ||
isToLong(value1) ||
hasBadFormat(valule1)){
doSomething();
}else{
doSomethingElse();
}
if( isNull(value1)
|| isToLong(value1)
|| hasBadFormat(valule1) ){
doSomething();
}else{
doSomethingElse();
}
Есть ли у кого-нибудь стиль руководства по кодированию (может быть, политика стиля кодирования компании), который решает эту проблему другим или лучшим способом, чем я предложил? Какой из них предпочтительнее, и можете ли вы найти какие-либо недостатки или плюсы для решений, о которых я упоминал?