Home [Clean code] Ch05,06. Fomatting & Objects and Data Structures
Post
Cancel

[Clean code] Ch05,06. Fomatting & Objects and Data Structures

Ch05. 형식맞추기

목적

코드 형식은 의사소통의 일환임.

‘돌아가는 코드’를 짜는 것이 우리의 목적이 아님.

다음 버전에서 기능은 바뀔 가능성이 매우 높지만, 스타일과 가독성 수준은 계속 영향을 미친다.

행 길이

200 줄 미만

  • 신문 기사 처럼 작성하기
    • 고차원 개념 → 저차원 개념
  • 함수 호출 순서
    • A A’ B B’
    • 순서대로 읽을 수 있게
  • 가로 형식
    • 20-60자
  • IDE의 무조건적인 코드 형식 맞추는 것이 막 좋지는 않다.
    • 가로 정렬이 가독성이 떨어질 수도 있음
  • 들여쓰기 무시하기
    • if, while 문 같은 것 한 문장에 끝내고 싶긴한데, 이게 가독성에 부정적일 수 있음.

팀 규칙

  • 개인이 선호하는 규칙은 따로 있지만, 팀에 속한다면 자신이 선호해야 할 규칙은 바로 팀 규칙이다.

Ch06. 객체와 자료구조

  • 구현을 감추기 위해서는 추상화가 필요함
    • 추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 함

객체

  • 동작을 공개하고 자료를 숨긴다
  • 기존 동작을 변경하지 않으면서 새 객체 타임을 추가하기는 쉬움
  • 하지만 기존 객체에 새 동작을 추가하기는 어렵다

자료구조

  • 별다른 동작없이 자료를 노출함
  • 기존 자료 구조에 새 동작을 추가하기는 쉬움
  • 하지만 기존 함수에 새 자료 구조를 추가하기는 어려움

→ 새로운 자료 타입을 추가하는 유연성이 필요한 시스템일 경우 객체가 더 적합

→ 새로운 동작을 추가하는 유연성이 필요하면 자료구조와 절차적인 코드가 더 적합

객체와 자료구조는 근본적으로 양분된다.

객체 지향 코드에서 어려운 변경은 절차적인 코드에서 쉽고, 절차적인 코드에서 어려운 변경은 객체 지향코드에서 쉽다.

DTO (Data Transfer Object)

자료 전달 객체

자료 구조체의 전형적인 형태는 공개 변수만 있고 함수가 없는 클래스다.

DB와 통신하거나 소켓에서 받은 메시지의 구문을 분석할 때 유용

This post is licensed under CC BY 4.0 by the author.