Мой вопрос относится к предыдущему вопросу, но предлагаемые решения не решайте проблему, которую я описал ниже. После поиска в Google я не нашел никаких рекомендаций по стилю кода, которые решали бы конкретную проблему длинных условных выражений в таком операторе if.
if( isNull(value1) ||
isToLong(value1) ||
hasBadFormat(valule1)){
doSomething();
}else{
doSomethingElse();
}
OR:
if( isNull(value1) || isToLong(value1) || hasBadFormat(valule1) ){
doSomething();
}else{
doSomethingElse();
}
Проблема, с которой я сталкиваюсь с этими двумя стилями, заключается в том, что мне трудно найти код в истинном блоке и отделить его от условных выражений, или для глаза слишком сложно определить правильную следующую строку после длинного условного включения. одна строка, особенно если оператор 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();
}
Есть ли у кого-нибудь рекомендации по стилю кодирования (возможно, политика стилей кодирования компании), которые решают эту проблему иначе или лучше, чем я предлагал? Какой из них предпочтительнее, и можете ли вы найти какие-либо минусы или плюсы упомянутых мною решений?