개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
주석은 안좋은 코드에 대한 지표가 될 수 있다.
결국 우리에게 주어진 좋은 리팩토링 기술들과 소스 코드 관리 시스템 등 다양한 기술들을 무시한 주석은 낭비이며 큰 실책이 될 수 있다.
필요한 주석들에 대해서 이해하고 필요한 주석을 제외하고는 여러 리팩토링 기술들을 이용해서 좋게 변경하자
TIL (Today I Learned) 날짜
2022.04.29
오늘 읽은 범위
4장. 주석
책에서 기억하고 싶은 내용을 써보세요.
자신이 저지른 난장판을 주석으로 설명하려 애쓰는 대신에 그 난장판을 깨끗이 치우는 데 시간을 보내라!
TODO 주석은 남겨두면 편하다. 하지만 어떤 용도로 사용하든 시스템에 나쁜 코드를 남겨 놓는 핑계가 되어서는 안 된다.
우수한 소스 코드 관리 시스템이 있다. 이를 적극적으로 이용하라.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
의미를 명료하게 밝히는 주석 중에 실제로는 잘못된 주석을 다는 경우가 많다.
일례로 우리가 사용중이던 외부 큰 기업의 서비스가 있었는데, 특정 기능을 제공한다고 되어있어서 그대로 사용했다가 알고보니 해당 기능이 제대로 동작하지 않는 상황이 있어서 한동안 디버깅에 고생하던 경험이 있다.
특히 이런 외부 서비스를 이용하는 경우는 정말 찾아내기가 어려운데, 단위테스트에서도 보통 모킹처리를 해서 다른 메인 로직들에 대한 테스트를 구현했기 때문에 이런 이슈가 있을 수 있다고 생각한다.
물론 예방하려면 사용중인 모든 외부 라이브러리에 어댑터 형식으로 wrapper class를 선언하고 각 클래스에 대해서도 통합 테스트 형식으로라도 테스트를 구현했다면 가능했을 수 있지만 근본적인 이슈는 결국 잘못된 문서화로 인해서 발생한 이슈이다.
우수한 소스 코드 관리 시스템이 있다. 이를 적극적으로 이용하라.
제일 활용 못한 부분. 특정 작업을 하다가 발생한 코드를 지우고 새로운 시도를 해보고 싶은데 다른 수정 사항들이 있어서 커밋하기 어려운 경우가 있었다. 이런 경우 주석처리를 해두고 시도를 하는데 사실 커밋을 더 잘게 자르고 컴파일 좀 실패하더라도 commit 만 해두는 것은 괜찮지 않았을까 싶다. 다음부터는 주의해서 부적절한 주석을 지우자.