Оператор if - Признак плохого кода #1


0 0

Если у тебя в коде есть if оператор, который в зависимости от условия выполняет разные действия:

void func() {
	If (type == 1) {
		// логика функции #1
		 . . . 
		 . . . 
	}
	If (type == 2) {
		 // логика функции #2
		 . . . 
		 . . . 
	}
}

Подумай, а действительно ли код построен верно? Если в твоем классе есть более одного случая, где логика кода зависит от магической переменной type, то вероятность плохого дизайна увеличивается. 

В классах не должно быть переменной, которая будет влиять на логику выполнения методов. Скорей всего нужно создать два типа класса, которые могут иметь один общий базовый. 

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

Код выше имеет право на существование, но просто может быть и признаком того, что пора создавать два разных класса. 


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

Паника, что-то случилось!!! Ничего не найдено в комментариях. Срочно нужно что-то добавить, чтобы это место не оставалось пустым.

Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне