도서

클린 코드 : 깨끗한 코드

스루나루 2024. 6. 29. 13:09
728x90
728x90

부제 : 코드를 주의깁게 짜는 방법

 

1장 깨끗한 코드 

 

코드가 존재하리라 

- 코드는 없어지지 않는다. 코드란 요구사항을 상세히 표현하는 수단이다 

- 요구사항을 모호하게 줘도 우리의 의도를 정확하게 꿰뚫는 프로그램은 없다. - chat gpt?

 

나쁜코드

- 시간에 쫗겨 아무렇게나 코드를 작성하다보면, 쓰레기 코드를 나중에 손보겠다고 넘기면, 일단 프로그램이 돌아가니까 방치하면 어떻게 될까?? = 망한다 싹. 나중은 결코 오지 않는다 

- 르블랑의 법칙

 

나쁜 코드로 치르는 대가 

- 나쁜 코드 즉 쓰레기처럼 코드를 짜두면 나중에 코드 수정시 매번 얽힌 코드를 해독해야하고 생산성은 갈수록 떨어진다 

 

원대한 재설계의 꿈 

- 자. 재설계를 웬만하면 회사에서 안 시키지만 시키면 누가하냐? 잘 하는 애들이 한다. 그럼 나는 뭐하냐? 못하니까 기존 유지보수를 한다. 

- 즉 뭐다? 재설계는 꿈이다. 내가 할려면 실력이 그만큼 더 있어야하며, 처음부터 나쁜 코드로 짜지 않았다면 재설계까지 갈 필요도 없는 것이다 

 

태도 

- 우리는 보통 관리자나 기획자의 의도 혹은 요구사항대로 코드를 짜고 있다. 다만 나중에 코드가 불량하다고 그 사람들을 탓할 수 가 있을까? 결국 내가 코드 쓰레기처럼 짜서 생산성이 떨어진건데? 태도를 고치자 

- 잘못된 코드로 생산성이 떨어진다면 그건 개발자 잘못이다. 처음부터 기획자나 상사에게 요구사항에 대해 토의하고 코드를 깨끗하게 짰다면 이런 불상사는 일어나지 않았다 

 

원초적 난제

- 기한을 맞추기 위해 나쁜 코드를 양산하다 , 빨리 가려고 시간을 들이지 않는다 : 진짜 나중에 개고생한다 정신차려라 

- 빨리 가는 유일한 방법은 코드를 최대한 깨끗하게 유지하는 습관이다 

 

깨끗한 코드란? 

- 논리가 간단해야한다. 

- 의존성을 줄여야 유지보수가 쉽다 

- 철저한 오류 처리 ( 메모리 누수 , 경쟁 상태, 일관성 없는 명명법 ) 

- 한가지만 잘하는 코드 : 클래스나 함수는 오직 하나의 상태에만 집중! 

- 가독성이 좋은 코드 

- 코드는 추측이 아니라 사실에 기반해야 하며 필요한 내용만 담아야한다. 

- 다른 사람도 쉽게 고칠 수 있는 코드 

- 단위 테스트와 인수 테스트 케이스가 존재한다 , 모든 테스트를 통과한다

- 주의깊게 짜서 누군가가 딱히 수정할 필요가 없는 코드 

- 중복이 없다 

- 클래스, 메서드 , 함수 등을 최대한 줄인다 

 

경쟁 상태 
공유 자원에 대해 여러 프로세스가 동시에 접근을 시도할 때, 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태

 

 

우리는 저자다 

- 우리가 코드를 작성할 때 보통 기존의 코드를 보면서 코드를 짜는데 이게 기존의 코드를 읽고 해석하는데 짜는 것보다 시간이 더 걸린다. 즉 기존 코드가 잘 짜여 있으면 새 코드르 짜기가 쉽다. 우린 저자다. 또 독자다. 가독성이 좋아야 코드란 책을 읽기가 쉬워진

 

 

 

참고

https://product.kyobobook.co.kr/detail/S000001032980

 

Clean Code(클린 코드) | 로버트 C. 마틴 - 교보문고

Clean Code(클린 코드) | 프로그래머, 소프트웨어 공학도, 프로젝트 관리자, 팀 리더, 시스템 분석가에게 도움이 될 더 나은 코드를 만드는 책『Clean Code(클린 코드)』은 오브젝트 멘토(Object Mentor)의

product.kyobobook.co.kr

 

728x90
728x90