[인프런 워밍업 클럽 2기 1주차 회고] - 그래서 클린코드가 뭐냐
클린 코드는 무엇일까요? 보통 "읽기 좋은 코드"라는 말을 하곤 합니다.그런데 "읽기 좋다"는 무엇을 의미할까요? 주석을 아예 달지 않으면 읽기 좋은 코드일까요? 이건 좀 아닌 것 같고...변수의 이름을 잘 짓는 것? 이것만으로는 좀 부족한 것 같고... 이런 고민을 해결하고자 클린 코드 & 테스트 스터디에 참여해 활동한 지 1주 차가 됐습니다. 첫 주차는 객체 지향의 가장 기본이 되는 "추상화"에 대해서 말하는 시간이었습니다.물리적으로 나뉜 세션은 여러 가지였지만, 다룬 내용들이 대부분 "추상화"를 뒷받침하는 요소였기 때문에 1주 동안 추상화에 대해서 말했다 해도 괜찮을 것 같습니다. 그리고 이 부분은 매우 중요하다고 생각하는 것이, 기본이 곧 쉽다는 의미는 아니기 때문입니다.기본은 너무나 중요해서 기본이라 부르는 것이지, 쉬워서 기본이라 부르는 것은 아니니까요. 스터디의 진행은 기본적으로 인프런을 통해 온라인으로 학습하고 미션을 통해 학습도를 점검하는 방식으로 진행됩니다.1주차 미션 자체는 실질적으로 코드를 작성하여 검증하는 느낌은 아니었고, "나는 강의에서 이렇게 말했는데, 너는 어떻게 생각해?"라는 느낌이었습니다.그 생각을 묻는 질문에 대한 답변이 곧 미션이고, 저의 경우에는 블로그에 글을 기재하는 방식으로 수행했습니다.https://masiljangajji-coding.tistory.com/66https://masiljangajji-coding.tistory.com/68 이 글에서 가장 하고 싶은 말은 "클린 코드", "TDD", "DDD" 등은 그저 도구라는 것입니다.저 모든 것들은 단순히 "이렇게 하면 좋다더라~"를 한 단어로 묶어 개념화한 도구입니다.따라서 도입하는 것이 생산성을 높이면 도입하면 되는 것이고, 떨어지면? 도입하지 않아도 됩니다. 주석을 달았더니 팀이 코드를 더 쉽게 이해하고 생산성이 증가하는데? -> 그럼 주석을 다는 게 클린 코드입니다.주석을 다는 행위로 인해 코드의 가독성이 증가했기 때문입니다. 소프트웨어를 개발하는 사람들은 생각도 soft하게 할 필요가 있지 않나 생각합니다.어떻게 커스터마이징하느냐에 따라서 우리 팀만의 클린코드 컨벤션이 존재할 수 있다고 생각합니다. 한 줄로 정리하면, XX를 하면 클린 코드? XX를 안 하면 클린 코드? 이런 게 아니라,생산성을 증가시키면 그게 뭐가 됐든 클린 코드라 생각합니다. 강의 내용에 대해서 말하자면 평소에 생각하던 부분들과 일치하는 부분이 많아 그리 어렵지 않게 들을 수 있었습니다.그런데 가끔 "아, 이렇게도 생각할 수 있네?", "이런 게 기준이 될 수 있겠네?" 하는 부분들이 있어 생각했던 것보다 이미 많은 것을 얻어간 느낌입니다. 사실 강의 자체의 퀄리티가 좋습니다. ㅋㅋㅋ 이번 주는 강의를 듣고 미션을 수행하는 것이 조금 버거웠습니다.강의의 양 자체가 적지 않기도 했고, 더 우선적으로 수행해야 할 과제들이 있어 더욱 그러지 않았나 생각됩니다. 주말 동안 재충전의 시간을 갖고 돌아오는 월요일부터는 다시 달려보도록 하겠습니다.