7. 클래스는 50줄 이하로 유지하라

소트웍스 앤솔로지Object Calisthenics 내용을 TypeScript로 적용해봤습니다.

클래스는 50줄 이하로 유지하고, 메소드는 10줄 이하로 만들고, 하나의 패키지(폴더)에는 10개 이하의 파일을 유지하라. 이유는 단순하다. 긴 파일은 읽기 어렵고, 이해하기 어렵고, 유지보수하기 어렵기 때문이다.

여기서 50줄 이하라 함은, 공백 줄을 포함한다. 공백 줄을 넣을 때는 한 번 더 고민해보자. 정말 필요한 공백인가? 문맥이 달라지는가? 흔히들 지역 변수를 선언하는 부분과 제어문을 나누고는 하는데, 이를 다른 문맥으로 칭한다면 혹시 하나의 메소드가 너무 긴 것은 아닐까 고민해보자. 이런 경우에 역할에 따라 메소드를 분리해 볼 수 있다.

무엇이든 길어지면 단일 책임 원칙을 위반하지 않았는지 고민해볼 필요가 있다.

Last updated