1. 의존성을 최대한 줄여라.
-의존성이 너무 많이 의존관계를 가지고 있으면 유지보수 하기에 힘들다.
-나는 화시에서 이러한 경험을 한 적이 있다. 기존 서비스에서 기능 한가지를 추가해야 하는 일이 생겼다.
-유저 리스트를 불러오는 함수를 조금 수정하여 재사용 하려고 하였지만 의존관계가 너무 많아 조금 수정하게 되면
-다른 코드들도 수정하여야 하는 상황이 발생 하였던 경험이 있어 재사용하지 못하고 다시 만들었던 기억난다.
2. 나쁜코드는 나쁜코드를 유혹한다.
-판매 내역 엑셀 다운로드 기능에 셀을 추가해달라는 클라이언트에 요청이 있어
-엑셀 다운로드 코드를 봤는데 직관적이지 않고 너무 불친절했던 코드였다
-내가 코드 몇개를 직관적이고 의도가 분명하게 하여 추가한다고 하더라도
-기존에 있던 코드들 때문에 내가 만든 코드가 보이지 않았고
-그냥 대충 기능만 되도록 만들까? 라는 유혹이 온적도 있다.
3. 깨끗한 코드는 한가지에 집중한다.
4. 깨끗한 코드는 단순하고 직접적이다.
5. 깨끗한 코드는 의도를 숨기지 않는다.
-3~5번까지는 같은 말인 것 같다
-코드가 한가지에 집중을 못하고 여러가지 일을 한다고 생각하면
-그 코드는 단순하지않고 직접적이지 않다
-이러한 코드는 어떤 의도를 하는 것인지 불분명하고 의도를 파악하기 어렵다.
-결론은 코드는 의도를 정확히 밝히고 단순하고 직접적으로 한가지의 일을 할 수 있게 만들어야한다.
6. 깨끗한 코드는 다른 사람이 읽기 쉽고 고치기 쉽다.
- 알림톡발송 기능에 양식 변경 요청이 들어 온적이 있었다.
- 코드를 확인해 봤는데 한줄한줄 읽어 내려가는데 그 의도가 너무 직관적으로 읽혀 지는 코드였다
-그래서 클라이언트의 요쳥사항을 짧은 시간에 끝낼수 있었던 경험이 생각난다.
7. 단위 테스트 케이스와 인수 테스트케이스가 존재한다.
-프레임 워크를 사용하지 않고 레거시한 방식으로 만든 서비스가 있었다.
-체계적인 테스트는 없고 내가 직접 개발서버에서 클릭하면서 테스트를 진행한적이 있었다.
-나는 꼼꼼하게 테스트를 했다고 생각했는데 역시나 예상치 못했던 경우의 수가 있었고
-운영 서비스에서 버그가 발생하여 야근을 했던 기억이 있었다 이때 체계적인 테스트가 중요하다고 느꼈다.
'CleanCode' 카테고리의 다른 글
좋은 객체 지향 설계의 5가지 원칙 (SOLID) (0) | 2023.02.05 |
---|