본문 바로가기
728x90

클린코드3

4. 주석 잘 달린 주석은 그 어떤 정보보다 유용하다. 근거 없는 주석은 코드를 이해하기 어렵게 만든다. 오래되고 조잡한 주석은 거짓과 잘못된 정보를 퍼뜨린다. 주석은 잘 해봐야 필요악이다. 개발자가 프로그래밍 언어를 제대로 사용할 능력이 있다면, 주석은 전혀 필요하지 않다. 개발자들은 코드의 의도를 표현하지 못해서 실패를 만회하기 위해 주석을 사용한다. 따라서 주석을 사용해야되는 상황이 올때마다 정말 코드를 통해 의도를 명확히 전달할 방법이 없는지를 우선적으로 생각해야 한다. 주석이 나쁜 이유는 주석이 코드를 따라가지 않기 때문이다. 코드는 지속적으로 변한다. 코드는 지속적으로 위치가 변하고 여러개로 쪼개지기도 한다. 하지만 주석은 이런 코드의 변화를 바라보기만 한다. 물론 주석 역시 엄격한 관리를 통해 코드의 .. 2022. 1. 10.
Chapter 1. 객체, 설계 티켓 판매 애플리케이션 구현 소극장에서 이벤트를 통해 공연을 무료로 관람할 수 있는 관객과 표를 구매해야 하는 관객이 있다고 가정하자. 이벤트에 당첨된 관객은 당첨을 입증하는 표를 연극표로 교환한 뒤에 입장할 수 있다. 따라서 연극 당일날 이 두 종류의 관객을 입장시킬때 당첨여부를 확인하고 당첨자가 아니라면 티켓을 판매한 뒤 입장해야 한다. 이를 구현하기 위해 다음과 같은 클래스들을 설계하자 1 2 3 4 5 6 7 /** * 이벤트 당첨자에게 발송되는 초대장 */ public class Invitation { /** 초대 일자 */ private LocalDateTime when; } cs 1 2 3 4 5 6 7 8 9 10 11 12 /** * 공연을 관람하는 사람들이 가지고 있어야 하는 티켓 */.. 2022. 1. 1.
1. 깨끗한 코드 사람들은 시간이 없다는 이유로, 지겹다는 이유로 코드를 다듬지 않고 나쁜 코드를 작성한다. 그러고서는 나중에 손보겠다는 다짐을 한다. 하지만 나중은 결코 오지 않는다. 나쁜 코드는 생산성을 떨어트린다. 코드를 고칠 때마다 사이드 이팩트가 터진다. 매번 스파게티 코드를 어떤식으로던 해석해 스파게티 코드를 더하다 보면 쓰래기 더미는 점점 높아지고 커진다. 일부 관리층은 이 문제를 해결하기 위해 새로운 인력을 투입한다. 하지만 새로운 인력은 기존 코드에 대한 이해도가 부족해 결국 또 다른 나쁜 코드들을 양산한다. 결국에는 생산성이 바닥을 치게 된다. 결국 팀은 반기를 들게 되고 새로운 팀을 만들고 재설계에 자원을 쏟아붓기 시작한다. 기존 서비스를 유지보수 하면서. 이때 부터는 재설계 팀과 유지보수 팀의 레이스.. 2022. 1. 1.
728x90