Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
TIL ASSIGNMENT #2 (추천사~깨끗한 코드)
#clean_code
2년 전
520


TIL (Today I Learned)

// 2022.02.19

오늘 읽은 범위

// 1장. 깨끗한 코드

책에서 기억하고 싶은 내용을 써보세요.

추천사

  • 세세함에 주의를 기울이는 태도는 전문가에게 더더욱 필수적인 자질이 되었다.

  • 큰 실무에서 실력을 쌓고 신뢰를 얻으려는 전문가는 먼저 작은 실무부터 실력을 쌓고 신뢰를 얻어야 한다.

  • 꼭 맞게 닫히지 않는 문이나 비뚤어진 바닥 타일이나 지저분한 책상등 아주 사소한 것들이 전체의 매력을 깎아먹기 때문이다. 깨끗한 코드가 중요한 이유는 바로 여기에 있다.

1장 깨끗한 코드

나쁜 코드

  • 우리 모두는 자신이 짠 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다. 다시 돌아와 나중에 정리하겠다고 다짐했었다. 물론 그때 그 시절 우리는 르블랑의 법칙을 몰랐다. 나중은 결코 오지 않는다.

깨끗한 코드를 작성하려면 "청결" 이라는 힘겹게 습득한 감각을 활용해 자잘한 기법들을 적용하는 절제와 규율이 필요하다. 열쇠는 "코드 감각" 이다.

깨끗한 코드란???

  • 바야네 (c++ 창시자) : 나는 우아하고 효율적인 코드를 좋아한다. 논리가 간단해야 버그가 숨어 들지 못한다.

  • 그래디 부치: 깨끗한 코드는 단순하고 직접적이다. 잘 쓴 문장처럼 읽힌다.

  • 데이브 토마스: 깨끗한 코드란 다른 사람이 고치기 쉽다고 단언한다. 테스트 케이스가 있어야 한다.

  • 마이클 펜더스: 깨끗한 코드는 언제나 누군가 주의 깊게 짰다는 느낌을 준다.

보이스카우트 규칙

잘짠 코드가 전부는 아니다. 시간이 지나도 언제나 깨끗하게 유지해야한다.

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

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

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

웹 개발을 처음 접했을 때부터 지금까지는 어떻게 이 기능을 구현할까에 초점을 맞추고 공부를 해왔었다. 많은 사이드 프로젝트에서도 구현만 해놓고 완성이라 생각하고 뿌듯해 하였다... 책의 말처럼 나중에 코드를 정리하지 하고 넘어간게 한 두번이 아니다. 결국엔 모든 기능을 구현하고 덮어버리는 실수만 계속 해 왔다.

이번 code clean 프로젝트를 계기로 이런 실수는 하지 않을 수 있음 좋겠다.!

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • // 르블랑의 법칙? (LeBlanc's Law states) - "Later equals never" is used in the context of software development, but may be applied more broadly to other areas. The law is attributed to Dave LeBlanc.