좋은 코드의 기준 - dnwls16071/Backend_Summary GitHub Wiki

🧑‍💻 "가독성"이라는 표현은 해롭다.

  • 코드 품질 문제를 읽기 쉽냐 아니냐로 따지면 결국 내가 읽기 어려우면 나쁜 코드라고 판단하게 만든다.
  • 주관적으로 판단하게 되면 결국 객관적으로 판단할 기회를 잃게 된다.
  • 내가 코드를 이해 못하는 것을 다른 사람의 책임으로 돌린다.
  • 문제 자체가 복잡해서 코드가 어려운 건데 코드 품질이 나쁜 것이라고 착각해서 고치다가 비즈니스 로직을 깨뜨린다.

🧑‍💻 Simple Design

  • 테스트를 통과해야 된다.
  • 의도를 드러내야 된다.
  • 중복이 없어야 된다.
  • 엘리먼트의 개수가 적어야 된다.

내가 생각하는 Simple Design이 무엇인지를 생각해본다면... 중복(Duplication)이 없으면서 구성 요소(Element)가 최소한인 코드인 것 같다.

🧑‍💻 Element

  • 클래스
  • 메서드, 함수
  • 분기
  • 변수와 상수
  • 상속 계층
  • 파일 수
  • 폴더 계층, 폴더 수
  • DB 테이블, 필드
  • 라인 수