TDD, 클린 코드 with Java 18기: 로또 - TDD (문자열 계산기)

yshjft·2024년 5월 16일
0

로또 - TDD(문자열 계산기)

리뷰 내용

🤔 리뷰 링크

로또-TDD: 1단계 문자열 계산기 #3589


🤔 정적 메서드만 있다면 유틸리티 클래스로 만들어라

리뷰어

  • 정적 메서드만 있다면 인스턴스 생성이 필요 없다.
  • 따라서 private 생성자를 이용하여 유틸리티 클래스로 만들자.

유틸리티 클래스

static method와 static field 만을 담은 클래스. 보통 유틸성 클래스로 helper의 성격을 갖는 클래스. 이런 클래스들은 클래스 메서드와 클래스 인스턴스이니 객체 인스턴스가 필요없는 클래스여서 private로 생성자를 선언함으로 외부 클래스에서 인스턴스화를 못하게 막아준다.
정적 유틸리티 클래스 (Static Utility Class)


🤔 BinaryOperator를 활용하라.

리뷰어

  • 두 피연산자와 연산 결과의 자료형이 같다면 BiFunction 보다 BinaryOperator를 활용하라

BinaryOperator

  • Type T의 인자 두개를 받고, 동일한 Type T 객체를 리턴하는 함수형 인터페이스입니다.
  • Java - BinaryOperator 예제

🤔 파일 끝에 개행을 추가하라

파일 끝에 개행을 추가해야 하는 이유

  • 이유를 아주 쉽게 말하면 POSIX에서 파일 끝에 개항을 추가하도록 명세하고 있기 때문입니다.
    • POSIX란

      POSIX는 이식 가능 운영 체제 인터페이스(Portable Operating System Interface)의 약자로, 서로 다른 UNIX OS의 공통 API를 정리하여 이식성이 높은 유닉스 응용 프로그램을 개발하기 위한 목적으로 IEEE가 책정한 애플리케이션 인터페이스 규격이다.
      위키백과에서 POSIX의 정의

    • POSIX 명세
    • 개행이 없는 경우 행이 종료되었다고 판단하지 않기 때문에 반드시 파일 끝에 개행을 추가해주어야 합니다.
  • 따라서 많은 시스템과 도구들이 이 표준을 따라 구현되어 있습니다. 이를 지키지 않을 시 예기치 않은 동작을 일으킬 수 있다는 것이죠.
    파일 끝에 개행을 추가해야 하는 이유

  • 🥬 파일 끝에는 항상 개행을 추가해야 해요

🤔 기타 여러 리뷰들

이전 단계에서 피드백 받았던 내용들과 객체지향 생활 체조 원칙을 제대로 반영하지 못한거 같아 많이 아쉬웠습니다.

profile
꾸준히 나아가자 🐢

0개의 댓글