본문 바로가기

BOOK Review

[클린 코드] TIL - 1장 깨끗한 코드

💛 TIL (Today I Learned)

  • 코드가 존재하리라
    • 코드 : 요구사항을 상세히 표현하는 수단
    • 프로그래밍 : 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업 
    • 추상화 수준이 높아져도 절대적으로 '코드'가 사라질 수 없음
  • 나쁜 코드
    • 이해하기 어렵고, 유지보수가 어려운 코드
    • 나쁜코드는 개발 속도를 크게 떨어트리고, 팀 생산성을 떨어지게 함
    • 결과적으로 원대한 재설계를 하여야하고, 그 시간마저 오래걸림
    • 따라서, 좋은 코드를 사수하는 일이 우리 프로그래머들의 책임
  • 클린 코드란
    • 비야네 스트롭스트룹 : '보기에 즐거운 코드', '한 가지에 집중 한 코드'
    • 그래디 부치 : 가독성이 있는 코드
    • 데이트 토마스 : 가독성 + 유지 보수성
    • 마이클 페더스 : 주의를 기울인 코드
    • 론 제프리스 : 테스트를 통과. 중복이 없는 코드
    • 워드 커닝햄 : 짐작한 기능이 각 루틴대로 잘 수행되는 코드
    • 엉클 밥 : 읽기 쉬운 코드
    • 가독성, 유지보수성, 테스트 가능성으로 귀결됨을 알수 있음
  • 클린 코드를 만들기 위해서
    • 코드를 짤 때에도 주의를 기울이며
    • 시간이 지나도 언제나 깨끗하게 유지하여야 함
    • 요구사항이 급하더라도 프로그래머로써 클린코드를 지향하는 신념을 놓쳐서는 안됨
    • '클린 코드'를 위해 끊임없이 연습 하여야 함

 

🧡 오늘 읽은 범위

1장. 깨끗한 코드

💜기록

'클린 코드'라는 개념은 명확하면서도 추상적이라고 생각한다. '깨끗한 코드'에 대한 신념은 모두가 다를 수 있다고 생각하고 또한 그것이 코드를 구현하는 방식에 있어서는 더 다양할 것이라고 본다. 

이 책에서는 '가독성'에 대해 주안점을 많이 두고 있다. 그리고 가독성을 위해 꾸준히 리펙터링을 해야한다는 점도 나타나 있다. 우리가 실제로 코딩을 하다보면 요구사항에 급급해서도 있지만 현재의 요구사항에 맞춰 코드를 짜다보면 미래에 전체적인 코드를 봤을 때 썩 만족스럽지 않은 경험을 할 때도 있다. 

'클린 코드'에 대한 구체적인 구현 방법, 그리고 리펙터링에 대한 시점과 그 범위에 대해 아직은 궁금한 것이 많지만 이 책을 읽으면서 해결해보려 한다.