2013-05-27 3 views
0

Существует два основных способа форматирования блоков кода.Стандарты кода для форматирования блоков

Я привык делать такие вещи, как так:

function do_something() { 
    if(cond) { 
     if (cond 2) { 
      if (cond 3) { 
       whatever_good(); 
      } else 
       whatever_bad3(); 
     } else 
      whatever_bad2(); 
    } else 
     whatever_bad1(); 
} 

Но недавно я познакомился с этим типом организации кода:

function do_something() { 
    if(!cond) { 
     whatever_bad1(); 
     return; 
    } 
    if (!cond 2) { 
     whatever_bad2(); 
     return; 
    } 
    if (!cond 3) { 
     whatever_bad3(); 
     return; 
    } 

    whatever_good(); 
} 

Этот второй путь более удобным для чтения, я должен админ. Но это просто заставляет меня съеживаться, чтобы написать такой код ... Даже я понимаю, что второй, если возможно, лучше. Думаю, мне просто нужно изменить свои привычки.

So. Мой вопрос: есть ли некоторые рекомендации о том, как лучше структурировать код? Это может быть слишком широким, но это то, что вы не можете найти в Google. Особенно этот конкретный случай для этих двух способов написания кода. Я попытался найти сравнение этих двух способов, но не смог найти ни одной статьи об этом. Также возможно некоторые рекомендации по повышению удобочитаемости.

Итак, я бы очень признателен за некоторые ссылки.

PS - Сейчас я прошу об этом для php, но я думаю, что это также работает для большинства других языков. Таким образом, это не обязательно должно быть связано с php.

ответ

1

Как насчет этого?

if(cond1 && cond2 && cond 3) { 
    something_good(); 
} 
else { 
    something_bad(); 
} 
+0

Благодарим за ответ. Но это не совсем актуальный код, как вы должны понимать :) В нем могло бы быть много разных условий и других операторов с разными возвращаемыми значениями (например, коды ошибок) и, возможно, одиночный «хороший» доход, поэтому вы не можете отформатировать его, как только сделал. Но я не прошу, как форматировать код в моих вопросах. Я прошу некоторые статьи с рекомендациями по организации вашего кода для лучшей читаемости и, возможно, производительности. – NewProger

+0

В этом случае вы должны изменить свой код на 'something_bad1()' 'something_bad2()' 'something_bad3()', чтобы указать другой код. Кроме того, это может быть более подходящим для программистов, поскольку Stackoverflow явно предназначен для принятия решающих ответов, а не для дискуссионных вопросов. – Aquillo

+0

Хорошо, я сделаю это. Что касается «более подходящего для программистов», я думаю, что вы правы ... Мне следовало бы спросить его там ... – NewProger

Смежные вопросы