객체지향 생활체조 원칙
맞춤분양필터(Android iOS)라는 앱에서 백엔드 파트를 담당하여 자바, 스프링 부트 기반으로 출시하여 운영중입니다.
신생 앱이다 보니 견고한 코드 보다는 기능구현 중심으로 일단 돌아가게 하자!라는 생각으로 빠르게 코드를 짜고 배포하는 것을 반복하고 있습니다.
이후 이것들이 큰 부매랑으로 돌아올 때가 많이 있었습니다. 예를 들어 외부 API를 사용하는 부분에서의 장애가 서비스로 장애전파가 되는 경우, 이후 버그리포팅이 들어와 로직을 수정해야하는 경우, 이후 다시 코드를 봤을때 한눈에 들어오지 않는 등…
위와 같은 경험을 하며 좋은 코드란 무엇일까? 어떻게하면 유지보수 하기 쉽고, _이후에 팀원이 들어오더라도 이해하기 쉬운 코드_를 만들 수 있을까?라는 생각을 하며 이런저런 자료를 찾던 중!
우아한테크세미나 박재성(포비)님의 TDD 리팩토링 강의를 굉장히 인상 깊게 보았고, 강의 중 객체지향 생활체조 원칙(리펙토링 원칙) 부분에 대하여 이후 두고두고 보고 싶어 기록해놓고자 합니다.
강의 링크도 가장 아래에 첨부해 놓겠습니다.
객체지향 생활체조 원칙
규칙 1. 한 메서드에 오직 한 단계의 들여쓰기만 한다.
규칙 2. else 예약어를 쓰지 않는다.
규칙 3. 모든 원시값과 문자열을 포장한다.
규칙 4. 한 줄에 점을 하나만 찍는다.
규칙 5. 줄여쓰지 않는다(축약 금지).
규칙 6. 모든 엔티티를 작게 유지한다.
규칙 7. 3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다.
규칙 8. 일급 콜랙션을 쓴다.
규칙 9. 게터/세터/프로퍼티를 쓰지 않는다.
클린코드
메소드(함수)에서 이상적인 인자개수는 0개(무항)이다.
다음은 1개이고, 다음은 2개이다.
3개는 가능한 피하는 편이 좋다.
4개 이상은 특별한 이유가 있어도 사용하면 안된다.
</br>
Leave a comment