Clean Code #1 깨끗한 코드

Bard·2021년 3월 1일
23

Clean Code Summary

목록 보기
1/14
post-thumbnail

피드백, 오타 지적 환영합니다

코드가 존재하리라

코드가 사라질 것이라 말하는 사람들이 있다. 하지만 이 책은 코드는 항상 존재할 것이라 말한다. 궁극적으로 코드는 요구사항을 표현하는 언어이다. 요구사항에 더욱 가까운 언어를 만들 수도 있고, 요구사항에서 정형 구조를 뽑아내는 도구를 만들 수도 있다. 하지만 어느 순간에는 정밀한 표현이 필요하다. 그 필요성을 없앨 방법은 없다. 그러므로 코드는 항상 존재하리라.

나쁜 코드

우리 모두는 자신이 짠 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다. 우리 모두는 대충 짠 프로그램이 돌아간다는 사실에 안도감을 느끼며 그래도 안 돌아가는 프로그램보다 돌아가는 쓰레기가 좋다고 스스로를 위로한다.

나중은 결코 오지 않는다.

-Leblanc's Law

나쁜 코드로 치르는 대가

나쁜 코드는 나쁜 코드를 고치기 위해 더 많은 나쁜 코드를 양산한다. 덕택에 생산성은 더더욱 떨어져 결국 0이 된다.

image-20210301211901992

프로그래머는 근본적인 가치에서 난제에 봉착한다. 누구나 나쁜 코드가 업무 속도를 늦춘다는 사실을 익히 안다. 그러나 모든 프로그래머가 기한을 맞추려면 나쁜 코드를 양산할 수밖에 없다고 느낀다. 간단히 말해, 그들은 빨리 가려고 시간을 들이지 않는다.

진짜 전문가는 위의 두 번째 문장이 틀렸다는 사실을 잘 안다. 나쁜 코드를 양산하면 기한을 맞추지 못한다.

기한을 맞추는 유일한 방법은, 그러니까 빨리 가는 유일한 방법은, 언제나 코드를 최대한 깨끗하게 유지하는 습관이다.

보이스카우트 규칙

캠프장은 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라

한꺼번에 많은 시간과 노력을 투자해 코드를 정리할 필요가 없다. 변수 이름 하나를 개선하고, 조금 긴 함수 하나를 분할하고, 약간의 중복을 제거하고 조금 긴 함수 하나를 분할하고, 약간의 중복을 제거하고, 복잡한 if문 하나를 정리하면 충분하다.

결론

예술에 대한 책을 읽는다고 예술가가 된다는 보장은 없다. 책은 단지 다른 예술가가 사용하는 도구와 기법, 그리고 생각하는 방식을 소개할 뿐이다. 이 책 역시 세세한 정보로 가득하다. 코드도 많다. 좋은 코드도 소개하고 나쁜 코드도 소개한다. 나쁜 코드를 좋은 코드로 바꾸는 방법도 소개한다. 다양한 경험적 교훈과 체계와 기법도 열거한다. 예제도 무수히 많이 보여준다. 나머지는 우리에게 달려있다.

공연장으로 가다가 길을 잃은 연주회의 바이올리니스트가 한 노인에게 카네기 홀로 가는 방법은 물었다. 노인은 연주자와 그가 든 바이올린을 보고 이렇게 말했다.

"연습해, 연습!"

profile
The Wandering Caretaker

4개의 댓글

comment-user-thumbnail
2021년 3월 7일

잘 쓰셨네요 ㄷㄷ

1개의 답글
comment-user-thumbnail
2021년 3월 17일

너무 잘봤습니다

답글 달기
comment-user-thumbnail
2021년 4월 2일

너무 멋있어여! 소통하구 지내여 ㅎ

답글 달기