책 15장을 읽고 다양한 의견을 댓글로 남겨 주세요.
책 15장을 읽고 다양한 의견을 댓글로 남겨 주세요.
솔루션 회사를 시작으로 컨설팅 회사 그리고 서비스 회사를 거쳐 지금은 스타트업에서 개발자로 일하고 있습니다. 주로 오픈소스 제품 개발, 기술 자문 및 코칭을 하고 있으며 기술과 인간의 상호작용에 관심이 많습니다.
nimkoes
2024-11-03 13:43
가치가 낮은 주석을 크게 두 가지로 나눌 수 있다고 생각 했습니다.
주석의 가치를 올바르게 판단하기 위해서는 서비스 도메인에 대한 깊은 이해가 선행되어야 합니다. 이것은 단순히 기술적인 관점에서 코드를 이해하는 것을 넘어, 그 코드가 왜 필요한지 안다는 것을 의미합니다.
서비스 도메인에 대해 깊이 이해하면 다음과 같은 이점이 있습니다.
[yeTi] 예티
2024-11-04 08:45
설계의 최신 내용은 코드이고 가장 현행화된 설명이 코드라고 생각합니다.
앞서 14장에서 설명하는 주석이 효용성이 있었던 이유는 코드의 표현력의 한계로 인해 추가적으로 이해하하는 시간이 필요할 때 시간을 절약하는 차원이었습니다.
따라서 코드 표현력에 충분하다면 주석은 지우는 것이 복잡도를 줄이는 방법이라고 생각합니다.
정승주
2024-11-04 22:56
바로 직전에 적은 내용이 나와서 당황했습니다.
이번장은 읽으니 이런 생각이 듭니다.
코드정리하는 대신에 주석을 작성하는 것으로 편익을 누렸으면 그것을 유지보수하는 책임도 따른다.
(주석은 지속적인 관리대상이 되니까요)
그러므로 시간을 들여서 코드정리를 할 지, 시간을 좀 덜 들이고 주석을 작성하고 유지보수할지, 테스트코드를 만들지 평가하여 선택하면 되겠다는 생각이 듭니다.
굉장히 어렵게 만들어져 정리하기도 어렵고 변경&확장할 여지가 없는 코드라면 주석이 가치있을 것 같고,
어렵게 만들어져있으나 계속 변경&확장의 여지가 있는 코드라면 시간을 들여 코드정리를 하는 것을 택하는 등, 상황에 맞게 선택하면 될 것 같다는 생각이 듭니다.
Sunghoon Park (chupin)
2024-11-05 11:04 (수정됨)
오 '코드정리하는 대신에 주석을 작성하는 것으로 편익을 누렸으면 그것을 유지보수하는 책임도 따른다.' 좋은 비교 방법이네요. 어떻게 보면 코드는 좀 이상해도 주석으로 명쾌하게 설명된다면, 코드를 가독성 있게 짤 필요가 많이 줄어들 것 같습니다.
(변경 비용을 줄이기 위한 결합도나 응집도 관련된 내용은 여전히 잘 만들어야 할 것 같구요)
유영모
2024-11-05 10:38 (수정됨)
가끔은 소통 의무에 대해 편협한 시각을 가진 이들이 모든 루틴에 주석을 달아야 한다는 식의 독단적인 규칙을 고집하기도 합니다.
14장 제 댓글에서 모든 메소드에 JavaDoc 을 달았던 일을 떠올립니다. 쓰다 보면 영어로 된 메소드명을 한국어로 옮기고 있다는 생각도 들더군요. 결국 같은 내용을 반복하고 있었던 것입니다.(물론 작문에 서툴렀던 것도 있었던 것 같습니다)
코멘트는 컴퓨터를 겨냥하는 것이 아니라 프로그램을 읽는 사람을 겨냥 합니다. <코드 크래프트>
<코드 크래프트>에서 언급 되었듯이 주석은 컴파일러에게 아무런 의미가 없습니다.
하지만 코드를 읽는 사람은 주석에서 의미를 찾으려 하는 경향이 있습니다.
그래서 아래 처럼 종종 문제를 햇갈리게 합니다.
주석과 코드는 작성할 때와 나중에 볼 때, 시간이 흐르고 나면 서로 맞지 않는 경우가 있습니다.
다시 처음 문장으로 돌아가 봅니다.
코드만으로 내용을 이해할 수 있다면 주석은 삭제하세요.
저는 작성해야 할 로직이 복잡해서 햇갈릴 때면
처음에는 주석으로 대강의 로직을 한국어로 작성합니다.
숫자를 들여 쓰기하면서요.
1.
1.1
1.2
2.
2.1
그리고 코드를 작성하고 함수로 추출하고 최종적으로는 주석을 삭제합니다.
Sunghoon Park (chupin)
2024-11-05 11:09
가끔 전설처럼 들려오는 모든 코드에 주석을 작성한다라는 규칙을 가진 회사들이 생각나네요
그리고 말씀 주신 영어로된 코드를 한글로 바꾸는 작업 관련 맥락에서도 생각나는 것이 있습니다.
모 회사의 유명한 앱이 한글로 코드로 만들었었다고 하더라구요. 당시 그 조직의 당사자는 그것을 굉장히 싫어했습니다만, 멀리 떨어져 있는 저로서는 굉장히 재미있는 시도라고 생각 했습니다.
적어도 영어의 장벽 때문에 코드가 잘 읽히지 않아 주석으로 설명하는 문제는 줄어들테니 말이죠.
대부분의 개발자가 자국민과 자국어로 소통하고 협업하는 사람이 부지기수인 마당에 왜 영어로 코드를 짜야하나 싶은 생각이 간간히 듭니다.
Sunghoon Park (chupin)
2024-11-05 11:18
많은 분들이 이미 좋은 이야기들을 해주셔서 특별히 더 생각나는게 있지는 않지만
14, 15를 보면서 주석을 너무 부정적으로만 봤나 싶기도 했습니다.
캔트백도 비즈니스를 설명하는 주석을 쓰긴 쓰는구나
클린코드에서는 굉장히 부정적으로 표현한 것 같았는데, 캔트백의 표현은 좀 더 용납할만한 무언가구나 하는 생각이 들었습니다.