mspring03 / Clean_Code

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

시작하기 전에...

  • 로버트 C. 마틴저자님의 Clean Code 책에서
  • 앞으로 정리할 내용들을 보고 참조했음을 알립니다.
  • 책을 읽고 이해한 내용을 정리함으로 잘못된 부분이 있을수도 있습니다.
  • 예제는 모두 typeScript로 옮겼으며 그 과정에서 잘못된 부분이 있을수도 있습니다.
  • 잘못된 부분에 대해선 지적해 주시면 감사하겠습니다.

Clean Code 는 무엇인가?

Claen Code는 말 그대로 깨끗한 코드이다. 이의 핵심으로는 다음과 같이 정리할 수 있다.

Clean Code의 특징

  1. 가독성이 높은 코드이다.
  2. 네이밍이 잘 되어야한다.
  3. 클린코드는 오류가 없는 코드이다.
  4. 클린코드는 중복이 없다

이 책을 읽기 전에 알아두면 좋은 점

  • 전문적인 개발자가 어떤 마음가짐으로 개발해야 하는지를 40년 이상 경험을 토대로 날카롭게 기술하고 있다.
  • 자바 프로그래밍 언어를 사용해 프로그램을 작성할 때 자기도 만족스럽고 남도 만족스럽도록 깨끗한 코드를 작성하는 방법을 소개하고 있다.
  • "아, 뭔가 대단한 비법이 있구나!" 라고 생각할지 모른다. 안타깝게도 그런 비밀은 없다. 오랫동안 개발에 몸담은 개발자라면 한번쯤 들어보고 한 번쯤 생각한 이야기를 좀 더 체계적으로 정리했을 뿐이다.

소프트웨어는 유지보수다!

소프트웨어는 80% 이상이 소위 "유지보수"다.
TPM(Total Productive Management)이라는 품질 관리론이 일본 업계에 등장했다. TPM은 생산이 아니라 �유지보수에 초점을 맞췄다. 이를 지탱하는 원칙 하나가 소위 5S라는 원칙이다.

TPM의 5S 원칙

  1. Seri/Sort (정리/정렬): 적절한 명명법 등을 사용해 무엇이 어디에 있는지 알아야 한다.
  2. Seition (정돈/단정함/체계화): 코드는 누구나 예상하는 위치에 있어야 한다.
  3. Seiso (청소/정리/광내기): 작업공간을 치운다. 주석으로 처리한 코드는 제거해야 한다.
  4. Seiketsu (청결/표준화): 작업 공간을 청소하는 방식에 그룹이 동의한다. 표준을 정해야 한다.
  5. Shutsuke (생활화/규율): 관례를 따르고, 자기 작품을 자주 돌아보고, 기꺼이 변경해야 한다.

쉬어가는 사진

코드 품질을 측정하는 유일한 척도 = 분 당 내지르는 WTF! 횟수

(옮긴이) WTF! What The F*ck을 줄인 말이다.

Table of Contents

Update


2020년 04월 24일 (금) ~
  • 책 읽기 시작.

+ 2020년 04월 25일 (토)

  • [01장] 깨끗한 코드 독서 완료.
  • [01장] 깨끗한 코드 정리 완료.

+ 2020년 04월 26일 (일)

  • 책 내용을 거의 그대로 정리하는 것 같아 [02장-16] 부터 이해한 내용을 바탕으로 나만의 언어로 정리 시작.
  • [02장] 의미 있는 이름 독서 완료.
  • [02장] 의미 있는 이름 정리 완료.

+ 2020년 08월 25일 (화)

  • [03장] 함수 독서 완료.
  • [03장] 함수 정리 완료.

+ 2020년 08월 26일 (수)

  • [04장] 주석 독서 완료.
  • [04장] 주석 정리 완료.
  • 4장까지 읽었는데 뒤로 갈수록 점점 지금 배워야 할 부분이 아닌것 같다는 느낌이 들어 책 읽기를 중단한다. 나중에 읽어야할 필요성을 느끼게 된다면 그때 다시 읽을 예정이다. 지금 당장 공부해야 할 것들을 배울 예정이다.

About