CleanCode

깨끗한 코드란?

point_Man 2022. 9. 14. 22:39

1. 의존성을 최대한 줄여라.

 -의존성이 너무 많이 의존관계를 가지고 있으면 유지보수 하기에 힘들다.

 -나는 화시에서 이러한 경험을 한 적이 있다. 기존 서비스에서 기능 한가지를 추가해야 하는 일이 생겼다.

 -유저 리스트를 불러오는 함수를  조금 수정하여 재사용  하려고  하였지만 의존관계가 너무 많아 조금 수정하게 되면

 -다른 코드들도 수정하여야 하는 상황이 발생 하였던 경험이 있어 재사용하지 못하고 다시 만들었던 기억난다.

   

2. 나쁜코드는 나쁜코드를 유혹한다.

 -판매 내역 엑셀 다운로드 기능에 셀을 추가해달라는 클라이언트에 요청이 있어 

 -엑셀 다운로드 코드를 봤는데 직관적이지 않고 너무 불친절했던 코드였다 

 -내가 코드 몇개를 직관적이고 의도가 분명하게 하여 추가한다고 하더라도 

 -기존에 있던 코드들 때문에 내가 만든 코드가 보이지 않았고 

 -그냥 대충 기능만 되도록 만들까? 라는 유혹이 온적도 있다.

 

3. 깨끗한 코드는 한가지에 집중한다.

4. 깨끗한 코드는 단순하고 직접적이다. 

5. 깨끗한 코드는 의도를 숨기지 않는다.

 -3~5번까지는 같은 말인 것 같다 

 -코드가 한가지에 집중을 못하고 여러가지 일을 한다고 생각하면 

 -그 코드는 단순하지않고 직접적이지 않다 

 -이러한 코드는 어떤 의도를 하는 것인지 불분명하고 의도를 파악하기 어렵다.

 -결론은 코드는 의도를 정확히 밝히고 단순하고 직접적으로 한가지의 일을 할 수 있게 만들어야한다.

 

6.  깨끗한 코드는 다른 사람이 읽기 쉽고 고치기 쉽다.

 - 알림톡발송 기능에  양식 변경 요청이 들어 온적이 있었다.

 - 코드를 확인해 봤는데 한줄한줄 읽어 내려가는데 그 의도가 너무 직관적으로 읽혀 지는 코드였다

 -그래서 클라이언트의 요쳥사항을 짧은 시간에 끝낼수 있었던 경험이 생각난다.

 

7. 단위 테스트 케이스와 인수 테스트케이스가 존재한다.

 -프레임 워크를 사용하지 않고 레거시한 방식으로 만든 서비스가 있었다.

 -체계적인 테스트는 없고 내가 직접 개발서버에서 클릭하면서 테스트를 진행한적이 있었다.

 -나는 꼼꼼하게 테스트를 했다고 생각했는데 역시나 예상치 못했던 경우의 수가 있었고 

 -운영 서비스에서 버그가 발생하여 야근을 했던 기억이 있었다 이때 체계적인 테스트가 중요하다고 느꼈다.

 

'CleanCode' 카테고리의 다른 글

좋은 객체 지향 설계의 5가지 원칙 (SOLID)  (0) 2023.02.05