[클린코드] 1장. 깨끗한코드
노마드코더 '클린코드' 북클럽
앞으로 3주간 완독하는게 목표! 과연..! 이 책을 읽고 코드 리팩토링하는 스킬을 UP하면서 나만의 코드 스타일이 생겼으면 좋겠다.
책에서 기억하고 싶은 내용을 써보세요.
코드는 요구사항을 정확히 표현하는 수단
기계가 실행할 정도로 상셍하게 요구사항을 명시하는 작업이 프로그래밍, 이렇게 명시한 결과가 코드다.
회사가 망한 원인은 바로 나쁜 코드 탓이었다.
나쁜 코드를 헤쳐나가는건 엉킨 덩굴과 숨겨진 함정으로 가득한 늪지대를 힘겹게 해쳐나가는것.
급해서?서두르느라? 제대로 짤 시간이 없다고 생각해서 쓰레기 코드를 짠다.
하지만 대충 짠 프로그램이 돌아간다는 사실에 안도감을 느끼며 안돌아가는 것보다 돌아가는 쓰레기가 좋다고 안도한다.
다시 돌아와 나중에 정리하겠다고 다짐하지만 나중은 결코 오지 않는다.
나쁜코드는 개발속도를 크게 떨어뜨린다. 코드를 고칠때마다 엉뚱한 곳에서 문제가 생긴다.
나쁜코드의 위험을 이해하지 못하는 관리자 말을 그대로 따르는 행동은 전문가 답지 못하다.
나쁜코드는 결국 기한을 맞추지 못한다. 오히려 엉망진창인 상태로 인해 속도가 늦어지고 기한을 놓친다.
기한을 맞추는 유일한 방법은 언제나 코드를 깨끗하게 유지하는 습관이다.
깨끗한 코드를 구현하는 행위는 그림을 그리는 행위와 비슷하다.
대부분의 사람들이 잘그렸는지, 엉망으로 그렸는지 안다. 하지만 이를 구분하는 능력이 그림을 잘그리는 능력은 아니다.
이처럼 깨끗한 코드와 나쁜코드를 구분할줄 안다고 해도 깨끗한 코드를 작성할 수 있는것은 아니다.
코드를 읽는 시간 : 코드를 짜는 시간 = 10 : 1 이상, 즉 코드를 짜면서 끊임없이 기존코드를 읽는다.
그래서 읽기 쉬운 코드가 매우 중요하다. 하지만 기존 코드를 읽어야 새 코드를 짜므로 읽기 쉽게 만들면 사실 짜기도 쉬워진다.
보이스카우트 규칙 : 캠프장은 처음왔을때보다 더 깨끗하게 해놓고 떠나라.
체크아웃할때보다 좀더 깨끗한 코드를 체크인한다면 절대 나빠지지 않는다. 지속적인 개선, 시간이 지날수록 코드가 좋아져야한다.
한꺼번에 많은 시간과 노력을 투자해 코드를 정리할 필요가 없다.
변수 이름 하나를 개선하고, 조금 긴 함수 하나를 분할하고, 약간의 중복을 제거하고, 복잡한 if문 하나를 정리하면 충분하다
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.
나쁜코드가 심각한 장애물
빨리가려고 하면 코드를 깨끗하게 유지해야한다
좋은 코드 중 하나가 읽기 쉬운코드
한번에 코드를 정리할 필요없이 조금씩 수정해서 시간이 지날수록 코드가 좋아지면 된다.