코드 냄새 119 - 계단 코드
TL;DR: Avoid checking for boolean expressions and returning an explicit boolean.
문제
솔루션
문맥
부울 수식을 처리할 때 부울 검사의 계단 후 명시적 참/거짓을 반환하는 것보다 비즈니스 부울 수식을 표시하는 것이 더 읽기 쉽습니다.
샘플 코드
잘못된
def is_platypus(self):
if self.is_mammal():
if self.has_fur():
if self.has_beak():
if self.has_tail():
if self.can_swim():
return True
return False
# This is also wrong since it is polluted with IFs and not readable by a biologist
def is_platypus(self):
if not self.is_mammal():
return False
if not self.has_fur():
return False
if not self.has_beak():
return False
if not self.has_tail():
return False
if not self.can_swim():
return False
return True
오른쪽
def is_platypus(self):
return self.is_mammal() && self.has_fur() && self.has_beak() && self.has_tail() && self.can_swim()
#We can even group conditions according to animal taxonomies
발각
[X] 자동
구문 트리를 기반으로 명시적 부울 값을 제거하는 코드를 안전하게 리팩토링할 수 있습니다.
태그
잘못된
def is_platypus(self):
if self.is_mammal():
if self.has_fur():
if self.has_beak():
if self.has_tail():
if self.can_swim():
return True
return False
# This is also wrong since it is polluted with IFs and not readable by a biologist
def is_platypus(self):
if not self.is_mammal():
return False
if not self.has_fur():
return False
if not self.has_beak():
return False
if not self.has_tail():
return False
if not self.can_swim():
return False
return True
오른쪽
def is_platypus(self):
return self.is_mammal() && self.has_fur() && self.has_beak() && self.has_tail() && self.can_swim()
#We can even group conditions according to animal taxonomies
발각
[X] 자동
구문 트리를 기반으로 명시적 부울 값을 제거하는 코드를 안전하게 리팩토링할 수 있습니다.
태그
결론
부울 반환에 주의하십시오.
반환 후에 도 필요한 것입니다.
처지
코드 냄새 115 - True 반환
Maxi Contieri · 2월 20일 · 2분 읽기
코드 냄새 101 - 부울과의 비교
Maxi Contieri ・ 11월 11 '21 ・ 2분 읽기
#webdev
#beginners
#programming
#tutorial
코드 냄새 24 - 부울 강제 변환
Maxi Contieri · 2020년 11월 14일 · 2분 읽기
#oop
#tutorial
#boolean
#coercion
코드 냄새 62 - 변수에 플래그 지정
Maxi Contieri · 2월 8 '21 · 1분 읽기
#programming
#oop
#webdev
#tutorial
코드 냄새 102 - 화살표 코드
Maxi Contieri ・ 11월 15 '21 ・ 2분 읽기
#oop
#javascript
#cleancode
#refactoring
코드 냄새 80 - 중첩된 Try/Catch
Maxi Contieri · 6월 16 '21 · 2분 읽기
#oop
#exceptions
#tutorial
#webdev
더 많은 정보
코드 냄새 115 - True 반환
Maxi Contieri · 2월 20일 · 2분 읽기
코드 냄새 101 - 부울과의 비교
Maxi Contieri ・ 11월 11 '21 ・ 2분 읽기
#webdev
#beginners
#programming
#tutorial
코드 냄새 24 - 부울 강제 변환
Maxi Contieri · 2020년 11월 14일 · 2분 읽기
#oop
#tutorial
#boolean
#coercion
코드 냄새 62 - 변수에 플래그 지정
Maxi Contieri · 2월 8 '21 · 1분 읽기
#programming
#oop
#webdev
#tutorial
코드 냄새 102 - 화살표 코드
Maxi Contieri ・ 11월 15 '21 ・ 2분 읽기
#oop
#javascript
#cleancode
#refactoring
코드 냄새 80 - 중첩된 Try/Catch
Maxi Contieri · 6월 16 '21 · 2분 읽기
#oop
#exceptions
#tutorial
#webdev
더 많은 정보
크레딧
Jukan Tateisi에 Unsplash의 사진
이 제안에 대해 Nico K.에게 다시 한 번 감사드립니다.
The real hero of programming is the one who writes negative code.
더글러스 매킬로이
소프트웨어 엔지니어링 위대한 인용문
Maxi Contieri · 2020년 12월 28일 · 13분 읽기
#codenewbie
#programming
#quotes
#software
이 기사는 CodeSmell 시리즈의 일부입니다.
코드에서 악취나는 부분을 찾는 방법
Maxi Contieri · May 21 '21 · 4분 읽기
#codenewbie
#tutorial
#codequality
#beginners
Reference
이 문제에 관하여(코드 냄새 119 - 계단 코드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/mcsee/code-smell-119-stairs-code-1e2b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
The real hero of programming is the one who writes negative code.
소프트웨어 엔지니어링 위대한 인용문
Maxi Contieri · 2020년 12월 28일 · 13분 읽기
#codenewbie
#programming
#quotes
#software
코드에서 악취나는 부분을 찾는 방법
Maxi Contieri · May 21 '21 · 4분 읽기
#codenewbie
#tutorial
#codequality
#beginners
Reference
이 문제에 관하여(코드 냄새 119 - 계단 코드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mcsee/code-smell-119-stairs-code-1e2b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)