TDD, 클린 코드 with Java 18기: 실시간 강의 정리(3)

yshjft·2024년 5월 21일
0

개발자 성장 로드맵

1단계 개인역량 쌓기

  • 클린 코드, 유지보수하기 좋은 코드를 구현하는 능력
  • 자기 주도적으로 문제를 해결하는 능력

2단계 소프트 스킬 역량 강화

  • 협업 능력

3단계 도메인 지식, 대용량 트래픽 경험

  • 대용량 트래픽을 처리할 수 있는 아키텍처 설계 역량

4단계 리더십 성장

  • 개발 문화 만드는 리더십 경험
  • 기술 아키텍처 설계를 경험할 수 있는 테크 리더

테스트 코드

  • 테스트 데이터는 차후에 유지보수를 고려하여 필요한 만큼만 작성하는게 좋다.

객체 설계

  • SOLID
    • 추상적이고 실제로 적용하기 힘들고 어렵다.
    • 이는 경력이 쌓인 사람한테도 동일한 문제이다.
  • 객체지향 생활 체조 원칙
    • 추상적인 개념이 매달리지 않기 위해 제공된 정략적인 가이드(기준)
    • 이 가이드(기준)을 통해서 객체지향 프로그래밍을 어떻게 하는지 감을 잡아야 한다.
  • 클래스 분리(설계)를 위한 정량적인 원칙
    • 모든 원시값과 문자열을 포장하라
    • 일급 컬렉션을 사용하라
      • 일급 컬렉션이란 인스턴스 변수로 콜렉션 하나만을 가지는 객체이다.
    • 3개 이상의 인스턴스 변수를 가진 클래스를 구현하지 않는다.
      • 2개의 인스턴스 변수까지만 허용해라.
      • 인스턴스 변수 개수 줄이는 법
        • 불필요한 변수 제거
        • 클래스의 필드들 중 비슷한거 끼리 묶는다.
    • 함수의 인자는 적은게 좋다.
      • 인자가 많아지면 개발자가 사용하기 힘들다.(2개까지만 OK, 그 이상은 너무 많다.)
    • 만약 priavte 메서드를 테스트 하고 싶다면 해당 메서드를 다른 클래스로 이동 분리를 고려하라.
    • 추가) enum도 클래스이다. 그러니 enum 또한 값을 끄집어내려고 하지 마라.
  • 원시값 포장과 일급 객체로 인한 이슈
    • 구현해야할 코드의 양이 무지하게 많아진다.
    • 생성자를 적극 활용하여 이러한 문제를 해결할 수 있다.
      • 주생성자, 부생성자 활용
        • 주생성자: 프로퍼티 초기화
        • 부생성자: 주생성자 호출
        • 주생성자를 가장 마지막에 선언(관례)
        • 이를 통하여 유지보수성 또한 높일 수 있다.
profile
꾸준히 나아가자 🐢

0개의 댓글