글모음

[독서] - Clean code 시작 본문

프로그래밍 공부/기타

[독서] - Clean code 시작

Nova_61 2022. 4. 22. 23:28
728x90
반응형

프로젝트나 알고리즘 공부를 하면서 코드를 짤 때마다 어김없이 드는 생각이 있는데,

바로 '지금 짜고 있는 코드가 과연 좋은 코드일까?'다.

 

좋은 코드가 왜 필요한가? 좋던 말던 돌아가면 되는 거 아닌가!

대학교 때 '산업안전'이란 교양을 들은 적이 있는데,

내 전공인 컴퓨터 공학과는 전혀 상관이 없어서 별생각 없이 학점 따려고 신청한 과목이었지만 들으면 들을수록 내용이 유용해서 정말 열심히 공부했다.

주로 산업 현장에서 사고가 일어나는 이유, 사고의 종류, 사고 예방법, 보호기구 정보 이런 걸 배웠는데, 

특히 아직도 기억에 남는 건'하인리히 법칙'이다.

 

하인리히의 법칙은 한 번의 대형 사고가 일어나기 전에는 29가지의 경미한 사고와 300가지의 증조가 일어난다는 통계를 분석한 법칙이다.

즉, '대형 사고는 터지기 전 경미한 사건 여러 번과 불안정한 증조들로 이루어진다'는 것이고,

그야말로 대형 사고를 막기 위해서는 위험해 보이면 바로 대응해서 불안정한 상황 자체를 만들지 말라는 말이다.

사전 상 '안전'의 정의

국어사전에서도 '안전'의 정의 또한 '위험이 생기거나 사고가 날 염려가 없는 상태' = 불안정한 증조가 없는 상태이다.

사무실에서만 일하는 개발자들에게 안전 수칙이 왜 필요하냐고 할 수 있지만

나는 이 법칙을 만든 하인리히가 원래는 엔지니어라서 그런지 엔지니어링에도 적용되는 소리 같다.

한 번쯤 봤을 프로그래머 밈 중 하나가 바로 '이상하지만 잘 돌아간다.' , '코드가 안/돌아가는데 이유를 모르겠다' 이 2개다.

알아보기 쉬운 깔끔한 코드로 작업을 하는 건 어려운 일이라 프로그래머라면 전부 공감을 할 수밖에 없다.

그래도 '데드라인에 맞춰 돌아가면 끝!' 이런 마음가짐으로 프로그램을 짠다면 왜 돌아가는지, 왜 안 돌아가는지 이유도 모르는 상황이 오고

운 좋게 당장은 돌아갈 수 있지만 언젠간 아예 안 돌아갈 수도 있다..

 

나도 깔끔한 코드보다는 빨리 만든다고 아무렇게나 프로그래밍을 해버린 적이 종종 있는데,

네이밍(변수 이름, 함수 이름...)을 엉망으로 해서 나중에 날 잡아서 싹 다 바꿔버려야 한 적도 있었고,

구조를 잘못 짜서 애를 먹은 적, 그냥 잘 짰다고 생각했는데 몇 달 뒤 다시 봤을 때 이해가 가지 않아 애먹은 코드도 있었다..

당장은 돌아갈지 몰라도 기능을 추가하거나 무슨 변수가 생기면 무조건 큰일이 날 수밖에 없는 환경이다.

내가 생각하기에 개발자의 안전 수칙 중 하나가 바로 '클린 코드'인 이유다.

 

좋은 코드를 위한 책 'Clean Code'

Clean Code는 애자일 기법 기반으로 클린 코드를 작성하는 원칙, 패턴과 사례들을 소개하는 책이다.

 

실은 작년부터 Clean Code 완독은 작년부터 하고 싶었다.

종종 좋은 프로그래밍 책 없나 인터넷 서점을 살펴보는데 몇 주 내내 프로그래밍 도서 Top 10을 하고 있는 Clean code에 눈이 갔다.

나는 책 읽는 습관을 기르기 위해 도서관에 자주 가고 책도 일부러 사지 않고 도서관에 한 달에 몇 권씩 희망 도서 신청을 해서 다음 달에 들어오면 읽곤 하는데, 내가 읽고 싶은 책들과 함께 Clean code도 같이 신청했다.

나중에 도서관에 가서 빌리려 하니 확인할 때마다 대출 중에 예약까지 다 걸려있는 못 읽고 나중에는 그냥 까먹어버리고 해를 넘겼다 ㅎㅎ..

근데 확인할 때마다 대출 중에 예약까지 쫙 걸려있는 걸 보고 진짜 깔끔한 코드에 대한 사람들의 열망이 정말 대단하구나 생각했고 얼마나 좋은 책이길래 이렇게 빌리는지 궁금증이 생겼다.

며칠 전 노마드코더 클린코드 독서 챌린지를 한다고 해서 확인해보니 운 좋게도 책이 있었고,

이번에 여러 번 읽어서 좀 더 프로그래밍 실력이 늘었으면 좋겠다!

 

728x90
반응형
Comments