[TIL] 클린코드 요약

devdevedddddd·2021년 6월 7일
0

6월의 배움

목록 보기
4/13

프로젝트가 끝나고, 코드정리를 하다가

마구잡이로 시간에 쫓기듯 짠 코드를 다시금 가다듬어서

다음 프로젝트 때 사용하고자,

복습해보고자 코드 정리를 하고 있다.

그러다 문득,

내 코드에는 원칙이 없다는 것을 깨달았다.

언뜻 들었던 클린코드가 머리를 스쳤다.

요약본 올려주신 분이 계셔서 소제목만 읽었다.

지금은 핵심만 읽고,

좀 더 코딩이 익숙해지면 클린코드 책을 정독해보려고 한다.

클린코드 원칙

CLAEN CODE

1. 객체의 생성에도 유의미한 이름을 사용하라.
2. 함수는 하나의 역할만 해야한다.
3. 명령과 조회를 분리하라 (Command와 Query의 분리)
4. 오류코드 보다는 예외를 활용하자.
5. 여러 예외가 발생하는 경우 Wrapper 클래스로 감싸자.
6. 테스트 코드의 작성.
7. 클래스의 최소화.
8. 클래스의 응집도(높은 응집도와 낮은 결합도)
9. 변경하기 쉬운 클래스
10. 설계 품질을 높여주는 4가지 규칙

10-1. 모든 테스트를 실행하라.
10-2. 중복을 제거하라.
10-3. 프로그래머의 의도를 표현하라.
10-4. 클래스와 메소드의 수를 최소로 줄여라.
11. 디미터 법칙 : 어떤 모듈이 호출하는 객체의 속사정을 몰라야 한다.
그렇기에 객체는 자료를 숨기고 함수를 공개해야 한다.

예) final String outputDir = FileManager.getInstance().getOptions().getModule().getAbsolutePath();
위 코드는 아래와 같이 써야 한다.
Options options = ctxt.getOptions();
File scratchDir = opts.getScratchDir();
final String outputDir = scratchDir.getAbsolutePath();

원본 출처, 감사합니다.

디미터 법칙 같은 경우는 잘 몰랐던 사항이고,
법칙 이름과 설명만 가지고는 이해하기 어려워서 코드까지 첨부했다.

가볍게 읽었음에도 상당히 유익한 글이었다.

덕분에 지금 갈팡질팡하던 코드에

원칙이 생긴것 같아

신나게 코드를 가다듬고 있다 !

나중에 코드리뷰 때도 당당할 수 있었으면 좋겠다.

profile
노력과 성장을 기록합니다.

0개의 댓글