$this в подфункциях метода

AmdY

Пью пиво
Команда форума
это для тех, кому совет фиксера не подходит
 

fixxxer

К.О.
Партнер клуба
Автор оригинала: Lightning
fixxxer

Аргументы?
Когда куча таких условий, которые сходу непонятны, хочется написать комментарий.
А когда хочется написать комментарий, надо вместо этого выделять метод с понятным именем.

Наверняка окажется, что подобный набор условий будет использоваться не единожды. А если даже и не окажется, код станет много яснее.
 

Lightning

Трудоголик
fixxxer
Написать комментарий хочется к условиям, а не к методу doSomething().
В данном случае, если какая-либо последовательность условий выполняется, то исполняется определенный код, а если нет - doSomething(). Следовательно, этот метод - действие по умолчанию, которое выполняется во всех остальных случаях. Поэтому, если вынести его в конец, код станет на много понятней по сравнению с существующим кодом с кучей else. Кроме того, в таком случае doSomething() будет вызываться один раз и, следовательно, не будет необходимости выносить его в метод.
PHP:
public function method1( /*...*/ ) {
    //...
    if( CONDITION_1 ) {
        if( CONDITION_2 ) {
            if( CONDITION_3 ) {
                //...
                return;
            }
        } elseif( CONDITION_4 && CONDITION_5 ) {
            //...
            return;
        }
    }
    //Do something
}
Макконнелл похожие примеры приводил.
 

AmdY

Пью пиво
Команда форума
Lightning
вот так и получается тот самый зловещий goto. смотришь на метод и не понятно выполнится ли код в конце или нет. да и вообще в ветвлениях не только return может быть
 

fixxxer

К.О.
Партнер клуба
Lightning
это тоже вариант выделения метода )
я подразумевал, что этот кусок кода был посреди еще кучки

ну еще есть вариант с do while false кстати
 
Сверху