#2_Clean Code(클린 코드)를 읽고(4,5,6장 정리) :: 개발/일상_Mr.lee

#2_Clean Code(클린 코드)를 읽고(4,5,6장 정리)

Posted by Mr.mandu.
2019. 4. 20. 20:52 개발/서적

4장 : 주석

   ○ 웬만하면 코드로 설명

 

   ○ 정규식 같은 패턴 잡는 경우는 주석 써도 좋다.

 

   ○ 의도를 설명하는 주석

 

   ○ 의미를 명료하게 밝히는 주석

     - a.compareTo(b) !=0  //a != b

 

   ○ 결과를 경고하는 주석

     - //여유 시간이 충분하지 않다면 실행하지 마십시오.

 

   ○ 중요성을 강조하는 주석

     - 문자열에 시작 공백이 있으면 다른 문자열로 인식될수 있음

 

5장 : 형식마추기

   ○ 형식을 잘 맞춰라

   ○ 적절한 행 길이를 유지하라

   ○ 수직거리

     - 서로 밀접한 개념은 세로로 가까이 둬야 한다.

 

6장: 객체와 자료구조

   ○ 자료 추상화

     - 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다

 

   ○ 자료/객체 비대칭

     - 새로운 함수가 아니라 새로운 자료 타입이 필요한 경우가 생긴다. 이때는 클래스와 객체 지향 기법이 가장 적합하다

     - 새로운 자료 타입이 아니라 새로운 함수가 필요한 경우에는 절차적인 코드와 자료 구조가 좀 더 적합하다

  

   ○ 다미터 법칙

     - String outputDir = ctxt.getOptions().getScratchDIr() 이렇게 메수드가 반환하는 객체의 메서드는 호출하면 안된다.

        이와 같은 코드를 기차 충돌이라고 한다. 일반적으로 조잡하다고 여겨진다.

 

   ○ 자료 전달 객체

     - 자료 구조체의 전형적인 형태는 공개 변수만 있고 함수가 없는 클래스다. 이런 자료 구조체를 때로는 자료 전달 객체

        (Data TransferObject, DTO)라 한다.

     - 빈(bean)은 공개(private) 변수를 조회/설정 함수로 조작한다. 일조의 사이비 캡슐화다..

 

   ○ 결론

     - 객체는 동작을 공개하고 자료를 숨긴다. 그래서 기존 동작을 변경하지 않으면서 새 객체 타입을 추가하기 쉽다.

        그러나 기존 객체에 새 동작을 추가하기는 어렵다.

     - 자료구조는 별다른 동작 없이 자료를 노출한다. 그래서 기존 자료 구조에 새 동작을 추가하기는 쉬우나, 기존 함수에 새 자료 구조를

        추가하기는 어렵다.