-
코드에서 나는 악취Python study/코딩스타일 2021. 12. 3. 13:53
나쁜 코드들은 좋지 못한 특징들을 가지고 있는데, 이런 코드들은 악취가 난다고 표현한다.
이런 코드들은 리팩터링의 대상이 된다.
꼭 리팩토링이 아니라도, 이런 코드가 나쁘다는 '감'정도는 가지고 있어야 한다.
책에서는 24가지를 말하는데, 내가 생각하는 중요한 일부만 정리한다.
- 명료하고 정확하지 않은이름
변수, 함수, 클래스, 파일 이름 모두 해당된다.
이름은 항상 "무엇을 하는지" 명확하게 드러내야 한다. 이름은 역할과 본질을 나타내 준다.
코딩할 때 가장 어려운 파트이기도 하다
- 중복 코드
중복 코드가 있다면, 수정할 때 2번 이상 수정해야 한다. 까먹어서 수정 안 하는 등 위험하다.
3번 이상 중복 코드가 등장하면 어떻게든 한 곳으로 모아주어야 한다.
- 긴 함수, 긴 클래스, 긴 매개변수 목록
길수록 보기 어렵다. 이해하기도 어렵다.
길다는 건 너무 만은 역할을 담당하고 있다는 것이다. 쪼개거나 묶어야 할 대상이다.
- 전역 데이터
전역 데이터는 어디서든 건드릴 수 있고 누가 바꿨는지 찾아내기 힘들다.
- 추측성 일반화
"나중에 필요할 거야"라는 생각으로 작성한 로직과 코드들은 실제로 사용하지 않는 경우가 많다.
실제로 사용하게 되면 다행이지만, 그렇지 않다면 이해와 복잡도를 증가시킬 뿐이다.
- 주석
항상 나쁘다는 것은 아니다. 주석은 필요한 경우에 코드에 향기를 입힌다.
다만 장황한 설명이 달린 주석은 코드를 잘못 작성했기 때문인 경우가 의외로 많다.
주석보다는 함수나 변수 이름으로 그 의도를 명료하게 드러내는 것이 좋다.
'Python study > 코딩스타일' 카테고리의 다른 글
리팩토링 - 캡슐화 (0) 2021.12.03 리팩토링 (0) 2021.12.03