안녕하세요.
첫 게시물로서 하지 않으려던 것을 해보려고 하니 긴장되기도 하고 기대되기도 합니다.
우선 Clean Code 서적 소개 전 필자가 왜 이 서적을 보게 되었는지 이야기를 할까 합니다.
필자는 Oracle 국비 지원을 다니면서 전 직장에 DA로 입사하였지만, 개발로 업무를 시작하였습니다.
SI 프로젝트를 진행하면서 개발업무를 했지만 부끄럽게도 대학교 다닐 때 개발이 머리에 안 들어왔던지라
개발의 "개" 자도 모르는 개발자였습니다.
개발을 회사에서부터 시작하였다고 말해도 될 정도였습니다.
어쨌든 좋은 사수들을 만나 많은 것을 배웠고 필자가 DB 업무를 하고 싶긴 하지만 개발을 해봄으로써
경험을 버리고 싶지 아니함과 과연 좋은 소스 코드는 무엇일까 하는 생각에 이 서적을 보게 되었습니다.
항상 오늘은 어제의 나보다 좋은 내가 되기 위함을 생각하면서
Clean Code 서적 소개 들어가겠습니다.
Clean Code(클린 코드)(원서/번역서: [해외]Clean Code (Paperback)) | 로버트 C. 마틴 | 인사이트 - 교보문고 (kyobobook.co.kr)
인턴 때 선배한테 들은 이야기 중 호기심 드는 말이 있었습니다.
자신이 작성한 코드는 같이 일하는 다른 개발자들과의 코드가 같다는 말이었고
소스 코드 확인 시, 마치 한사람이 작성한 코드처럼 보인다고 하였다.
이에 대해 의문점이 들었습니다.
왜?
같다고 말을 하였을까?
사람마다 각각의 생각이 있는데 왜 같을까?
결론부터 말하자면 이유는 프로젝트에 투입 시 그 프로젝트의 "개발가이드"가 존재하기 때문입니다.
필자는 프로젝트를 진행하면서 눈으로 경험한 것은 사수가 분석/설계 단계 때 "개발가이드" 문서 작성을
보았을 때였습니다.
작성된 "개발가이드"에 따라 개발자들이 앞으로의 개발 규칙을 통일하여 코딩하기에 자신이나
다른 개발자나 같은 문법이 나올 수밖에 없다고 생각됩니다.
예로
1) 클래스/메서드 명 작성방법
2) 함수작성방법
3) 주석작성방법
4) 코드 형식 맞추기
5) 객체 생성방법
6) 오류처리 방법
등등
내용으로 작성된 것이 기억납니다.
서적을 읽으면 위 예의 기준으로 객관적인 자료와 저자가 개발해오면서 눈에 띄는 코드 작성 방법을
예로 들어 설명해 주는 부분이 감명 깊었습니다.
읽다 보면 저자가 설명하는 부분이 당연하고 알기 쉬웠을지도 모르지만
막상 개발 할 때에는 생각이 안들었던 부분이 많았습니다.
개발업무 시 개발 작성 방법 관련에 대해 질문을 하였을 때
사수가 이렇게 해보아라 저렇게 해보란 말을 듣기만 하였고
항상 나중을 위한, 다른 사람을 위한 코드 작성법을 가르쳐주셨던 것으로 생각이 많이 납니다.
몇몇 질문 중 왜 그런지는 Google의 힘이 닿지 않는다던가 귀찮니 즘이 존재하였지만
서적을 봄으로써 사수가 그때 왜 그랬는지에 대해 적어도 필자는 조금 얻어가는 게 생겼고
또한 적지만 원래 알고 있었던 부분에 대해 잘못 알고 있던 부분도 존재하였습니다.
개발하면서 작성 규칙에 대한 내용도 있지만
프로젝트를 진행하면서 깊이 진행하지 않았던 부분들 예로 들면 단위테스트를 어떻게 작성하고
진행되어야 하는지, 클래스는 어떻게 작성하여야 하는지에 대한 부분도 존재하였습니다.
서적을 봄으로써 책의 저자처럼 코드를 작성할 때는 다른 사람을 배려하고
다음을 위한다는 점을 확인할 수 있었습니다. 또한 배려를 통해 안정성과 유지보수 비용도 절감되는
부분 등 좋은 영향을 미침을 알게 되는 시간을 가져보았습니다.
결론으로 들어가.
방문객들 모두가 동의할지는 모르겠지만 필자는 우리가 일상생활에서 사용하는 언어는 다른 사람이
오해하지 않도록 이해하기 쉽게 말을 하는 것이 중요한 부분 중 하나라 생각합니다.
어떤 사람은 대화를 할 때 장황하고 어려운 단어, 이해하기 쉽지 않게 앞뒤 문맥의 이어짐이 없는 말을
하는 사람들이 존재합니다. 상황에 따라 격식과 예의 등으로 필요에 따라 사용될 수 있으나
적어도 필자는 상대방의 이해가 중요하기에 대화할 때는 쉽게 쉽게 하려 합니다.
이 말을 하는 이유는
결국 개발언어는 사람과 컴퓨터와의 대화이기도 하지만 다른 사람이 내 소스를 볼 때는
일상생활에서 사용하는 언어처럼 사람과 사람과의 대화라고
들어왔고, 생각했고, 저자도 그렇다고 생각되기 때문입니다.
개발에 있어 아직도 많이 부족하고 잘하는 편은 아니지만
화려하고 장황하지 않고, 간편하고 이해하기 쉽고 어렵지 않은 소스가
다른 사람을 배려하는 좋은 소스 중 하나일 거라 믿어 의심치 않습니다.
'기타 > 서평' 카테고리의 다른 글
해커와 화가[서평] (0) | 2021.07.23 |
---|