[Clean Code] 클린코드 책읽기 1장 - 깨끗한 코드

이하영·2023년 5월 28일
0

CleanCode 읽기

목록 보기
2/4
post-thumbnail

로버트 C. 마틴의 Clean Code 라는 책을 읽고, 학습하고 정리하는 글 입니다.


Clean Code 클린 코드 애자일 소프트웨어 장인 정신

  • 읽은 날짜 : 23.05.28 ~ 23.05.30
  • 읽은 범위 : 1장 깨끗한 코드
  • 주요 키워드 :
    나쁜코드 깨끗한코드

1장 깨끗한 코드

  • 코드를 자동으로 생성하는 시대가 다가온다. 그때가 되면 프로그래머가 필요가 없다. 이런 이야기가 나오고 있다.
  • 저자는 언젠가 코드가 사라지리라 하는 생각을 절대로 불가능하다고 말한다.

✅ 나쁜 코드

  • 프로그래머라면 누구나 나쁜 코드로 고생한 경험이 있다.
  • 왜 나쁜 코드를 짰는가?
    • 제대로 짤 시간이 없어서
    • 빨리 끝내려고
    • 다른 업무가 밀려서
    • 나중에 손봐야지..!라고 생각한다. 우리는 그때 르블랑의 법칙을 몰랐다.

나중은 결코 오지 않는다. (르블랑의 법칙)


✅ 나쁜 코드로 치르는 대가

  • 나쁜 코드는 개발 속도를 떨어뜨린다.
  • 나쁜 코드가 쌓일수록 생산성은 떨어진다.
  • 우리는 프로젝트를 계획하는 과정에 깊숙히 관여하므로 프로젝트 실패는 우리에게도 책임이 있고 나쁜 코드로 인한 실패는 더더욱 책임이 크다.

✅ 깨끗한 코드

  • 깨끗한 코드와 나쁜 코드를 구분할 줄 안다고 깨끗한 코드를 작성할 줄 아는 것은 아님
  • '코드 감각'이 있는 개발자는 좋은 코드와 나쁜 코드를 구분하고 절제와 규율을 적용해 나쁜 코드를 좋은 코드로 개선할 수 있는 방법을 생각한다.

1장에서는 노련한 프로그래머들이 생각하는 깨끗한 코드를 소개하고 저자의 생각을 소개하고 있다.

  • 유명하고 노련한 프로그래머들이 생각하는 깨끗한 코드란?
    • 비야네 스트롭스트룹
      • 보기에 즐거운 코드
      • 효율적인 코드(속도, CPU 자원을 낭비하지 않는)
      • 세세한 사항까지 꼼꼼하게 처리하는 코드
      • 한가지에 집중(너무 많은 일을 하려다가 의도가 뒤섞이고 목적이 흐릿해질 수 있음)
    • 그래디 부치
      • 가독성 강조
      • 명쾌한 추상화
        • 코드는 추측이 아니라 사실에 기반해야 한다.
        • 반드시 필요한 내용만 담아야 함
    • 데이브 토마스
      • 가독성 강조
      • 다른 사람이 고치기 쉬운 코드
      • 테스트 케이스가 없는 코드는 깨끗한 코드가 아니다.
    • 마이클 페더스
      • 주의 깊게 작성한 코드
    • 론 제프리스
      • 중복 줄이기
      • 표현력 높이기
      • 추상화 고려하기
    • 워드 커닝햄
      • 읽으면서 짐작한 대로 돌아가는 코드
      • 명백하고 단순한 코드
  • 저자가 생각하는 깨끗한 코드란?
    • 읽기 쉬운 코드
      • 우리는 주변 코드를 읽으면서 새 코드를 짠다. 기존 코드를 읽어야 새 코드를 짜기 쉽다.
    • 지속적으로 개선해야 함(깨끗한 코드를 유지해야 함)



이 책은 좋은 코드와 나쁜 코드를 소개하고, 나쁜 코드를 좋은 코드로 바꾸는 방법도 소개한다. 다양한 경험적 교훈, 체계, 기법, 예제도 보여준다. 이러한 정보들로 가득하지만 이 책을 읽는다고 뛰어난 프로그래머가 된다는 보장은 없다. 독자에게 달려있다.

이 책을 읽으면서 연습을 해야한다!!

profile
안녕하세요, 웹 개발자 이하영입니다!

0개의 댓글