반응형

1장. 깨끗한 코드

나쁜 코드

 - 성능이 나쁜 코드

 - 의미가 모호한 코드

 - 중복된 코드

 

나쁜 코드가 나쁜 이유

  * 깨진 유리창 법칙(깨진 유리창을 방치해두면 그 중심으로 범죄가 확산된다.)

 - 생산성 저하

 - 새로운 시스템을 만들게 된다. (어느 한 부분만 수정할 수 없게됨, 현실적으로 매우 어려움)

 

나쁜 코드를 짜는 이유

 - 일정이 촉박해서 

 - 영향 범위가 넓어서(영향 범위 예측이 안되서 보수적으로 코드를 작성하게 된다.)

 

클린 코드

비아네 스트롭스트룹 

" 나는 우아하고 효율적인 코드를 좋아한다.

  논리가 간단해야 버그가 숨어들지 못한다.

  의존성을 최대한 줄여야 유지보수가 쉬워진다.

  오류는 명백한 전략에 의거해 철저히 처리한다.

  성능을 최적으로 유지해야 사람들이 원칙 없는 최적화로 코드를 망치려는 유혹에 빠지지 않는다.

  깨끗한 코드는 한 가지를 제대로 한다. "

 

클린 코드 조건

 - 성능이 좋은 코드

 - 의미가 명확한 코드 = 가독성이 좋은 코드

 - 중복이 제거된 코드

 

보이스카우트 룰

 - "캠프장을 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라" -> 전보다 더 깨끗하한 코드로 만들어라

 

2장. 의미있는 이름

 - 의미가 분명한 이름 짓기 - ex) int a, b 

 - 루프 속 ijk 사용하지 않기 - 굳이 index 값이 필요없다면.. 사용하게 된다면 최대한 의미를 부여해서 사용 ex) row, col, depth

 - 통일성 있는 단어 사용하기

 - 병수명에 타입 넣지 않기 - ex) String nameString => name, Account[] accountArray => accounts 

* 팀간의 충분한 의사소통을 통해서 맞추는게 중요

 

참고 가이드 - google java naming guide

- https://google.github.io/styleguide/javaguide.html#s3.2-package-statement

- google java naming guide 구글링하면 한국어로 번역된 블로그 많이 나온다.

728x90
반응형

'Book > Clean Code' 카테고리의 다른 글

[Clean Code] Chapter 07  (0) 2022.03.17
[Clean Code] Chapter 06  (0) 2022.03.13
[Clean Code] Chapter 05  (0) 2022.03.12
[Clean Code] Chapter 04  (0) 2022.03.12
[Clean Code] Chapter 03  (0) 2022.03.09

+ Recent posts