단위 테스트 테스트는 많은 개발자들에게 애증의 관계로 여겨집니다. 테스트 코드를 작성하는 것도 그렇지만, 한 번 작성한 테스트들도 유지보수의 대상이 되어 피쳐가 수정될 때 마다 테스트도 함께 수정해야하기 때문이죠. 뭔가 개발자가 스스로 일거리를 늘리는 느낌이 듭니다. 하지만 밥 아저씨는 이건 테스트의 문제가 아니라 테스트 코드(케이스)를 아무렇게나 작성한 개발자(혹은 팀)의 잘못이라고 이야기 합니다. 깨끗한 테스트 코드 유지하기 테스트 코드는 내가 작성한 코드와 기존의 코드를 신뢰할 수 있도록 도와줍니다. 테스트가 되고 있지 않은 코드는 잠재적 버그이기 때문이지요. 이런 의미에서 깨끗한 테스트는 유연성, 유지보수성, 재사용성을 제공한다고 밥 아저씨는 이야기 합니다. 그렇다면 깨끗한 테스트 코드는 무엇이고..
주석 주석은 개발자에게 있어서 '피할 수 있으면 피하고 싶은 존재'입니다. 앞서 적은 글에서 코드는 그 의도가 분명하게 드러나 있고, 다른 사람들도 파악하기 쉬워야 한다고 정리했는데, 주석은 이에 실패했을 경우를 위해 달아 놓은 부가 설명이기 때문입니다. 코드 자체만으로 완벽한 문서가 되는 것이 가장 이상적인 형태라는 것을 모두가 알고 있지만 결코 쉬운 일이 아닌 것입니다. 밥 아저씨도 주석을 '필요악'이라고 칭하고 있습니다. 물론 주석을 잘 쓰면 코드를 파악하는데 큰 도움이 되지만 정말 중요한 것은 코드이지, 주석이 아니기에 짧게 정리하고 넘어가겠습니다. 주석은 나쁜 코드를 보완하지 못한다. 주석을 어떻게 남겨야 하는지 앞서 필요한 전재입니다. 좋은 주석 법적인 고지를 위한 주석 (ex: Copyrig..

밥 아저씨(Robert C. Martin)의 명저서이자 Clean 시리즈의 대표작인 Clean Code를 정리해 봅니다. 서론 (Clean Code가 필요한 이유) 밥 아저씨는 '깨끗한 코드란 무엇인가?'라는 질문에 대한 답을 내놓기 앞서 더러운(악취가 나는) 코드의 문제점을 통해 깨끗한 코드의 필요성에 대해 먼저 설명합니다. 많은 개발자들은 오로지 당장의 구현에 집중해 코드를 짜곤 합니다. 이러한 방식은 코드를 짜는 데 있어 큰 고민을 필요로 하지 않기 때문에 당장의 생산성을 끌어올리는 데에는 좋을지 모르지만 새로운 기능들이 추가되고, 프로젝트의 복잡도가 증가할수록 단순한 수정에도 많은 노력이 필요하게 되면서 생산성 저하로 이어지게 됩니다. Clean Code에는 코드를 깨끗하게 유지하기 위한 수 많은..