면접을 보거나 커피챗을 하게 되면 가장 많이 듣는 질문중하나가 클린코드에 관한 질문을 항상 듣는다.
다양한 프로젝트에서 다양한 언어나 라이브러리를 사용하면서 드는 생각은 내가 이 코드를 짜고 다음에 내가 보거나 동료가 봤을 때 잘 볼 수 있도록 작성해야겟다. 주석도 달아야지~라는 생각을 평소에 가지고 있었다. 하지만 현업에서는 많은 사람들이 주석을 불필요하게 느낀다.. 코드만 잘 작성하면 주석은 불필요하다. 주석은 내가 만든 함수를 잘못 짤 때만 쓴다. 등등.. 많은 이야기를 들었다..
물론 동의하기도 하고 반대되는 입장도 잇다.
동의하는 부분은 내 코드는 주석이 없어서 보기 편하게 짠게 맞다. 또한 컴파일될 때 파일의 크기를 조금 더 줄여서 번들링 될 때 속도를 높이고 싶고.. 주석의 관리도 수시로 해야하기때문에..
하지만 내가 새로운 곳에가서 유지보수를 받았을때의 입장을 생각해보면 주석이 있는 편이 좀더 수월했다.. 단 주석을 최신화도 같이하고, 일관성있게 하는 방법(https://jsdoc.app/)을 기준으로.. 이런곳은 한곳만 봤다..
보통은 문서화도 최신화가 안되는 경우도 많기에.. 최신화된 주석이라도 달려있으면.. 그나마.. 좋다..
암튼.. 클린코드 이야기 하다가 이야기가 빠졌는데.. 프로그래밍에는 정답이 없다. 문제와 해결만 있을뿐이라고 생각한다. 문제를 해결하기위해 개발자들은 방법을 찾을거고, 그 방법으로 논의도하고, test하고, 구현도 했을꺼다. 그 부분에서 잘못된거 잘된건 찾을수없다. 문제를 어떤관점으로 바라봤는지는 당시의 문제의도를 바라보는 시선일것이다.
그래서 클린코드란! 수정하기 편하고, 명로하며, 일관성있게 작성하는게 중요한것같다.
오늘 읽은 https://velog.io/@surim014/optimizing-javascript-for-fun-and-for-profit?utm_source=substack&utm_medium=email 글은 최적화 관련된글인데, 2. 다른 형태 피하기 항목을 읽어보면, 굉장히 흥미로는 내용이다. 사람이 무언가를 일정하게 반복하게될때 특정한 패턴으로 해야지 정리가 쉽듯이 엔진도 마찬가지다.. 맞는 말이다.. 특정한 패턴중에 다른게 섞여있다면.. 불편하고, 불안정해서 의심하게 될거다..
내가 생각하는 클린코드란 일관성있게 해당프로젝트의 문제를 해결하는거다.
'회고 > 2024' 카테고리의 다른 글
내 컴퓨터에 메모장에 일기를 쓰다가.. (0) | 2024.04.11 |
---|---|
팀이동.. (0) | 2024.04.03 |