클린 코드

code_able·2022년 11월 23일
0

나의 코드는 반드시 누군가 유지보수 하게 되어있습니다.
상대방에 대한 배려심으로 클린 코드를 공부해야 합니다.

PYTHON의 클린 코드에 대해서 정리해 보겠습니다.

의도를 분명히 들어내라

  1. 예외 처리 시 에러를 구체적으로 표현하라
  2. 의미 있게 구분하라 (줄바꿈 한줄 , 두줄)
  3. 찾기 쉬운 단어를 사용하라
  4. 인코딩을 피하라
  5. 자신의 기억력을 자랑하지 마라
  6. 한 개념은 한 단어만 사용하라
  7. 기발한 이름보다 쉬운 이름을 선택해라
  8. 변수명과 함수명을 직관적으로 하라(n, i 이런 변수명을 쓰지 말자)
  9. 코드에 이해를 돕는 주석을 남기되 코드를 주석처리 한거는 남기지 않는다
  10. 주석은 코드의 역할 같은 부연 설명만 작성한다.
  11. 코드 동작 작동 원리를 설명하는 주석은 웬만하면 코드를 쉽게 작성하여 피하도록 한다.

하나의 책임을 부여한다

  1. 작게 만들어라
  2. 블록과 들여쓰기를 최소화하라
  3. 한번에 한가지만 하라
  4. 함수 내 추상화 수준은 하나로
  5. 순수 함수로 만들어라
  6. 명령과 조회를 분리하라
  7. 오류코드 보다 예외 처리를 한다
  8. 같은 코드를 복하여 사용하지 않는다
  9. 가드클러즈(GaurdClause): 중첩된 if문을 제거
# 일반코드
user = get_user()
if user:
	post = get_post()
	if post:
		commnet = get_comment()

---------------------------------------------------------------
# 가드클러즈
user = get_user()
user = user  if user   else None
post = get_post()
post = post if post else None
commnet = get_comment()
commnet = commnet if post else None
  1. Boolean 조건 체크 할 경우 not 이용(Syntax sugar)
if not a:
	a + 1
  1. 예외처리를 진행하거나 유효성 오류의 경우 none 반환
  2. 3항연산자
commnet = 'hello' if post else None
  1. 간단한 if, switch는 dict acessing으로 변경
a = 'apple'
if a == 'apple':
	return 'fruit'
elif a == 'carrot'
	return 'vegitable'
else:
	return None
--------------------------------
a = 'apple'
data = {
				'apple' : 'fruit',
				'carrot' : 'vegitable'
			}
data.get(a, None)
  1. function name: snake_case, action부터 설정
  2. 인수가 4개를 넘지 않도록
  3. 클래스별로 파일을 분리: 1개의 py 파일엔 1개의 class
profile
할수 있다! code able

0개의 댓글