우테코 프리코스

[ 우아한 테크코스 ] 피드백

Adose 2024. 11. 18. 14:36

함수(메서드) 라인에 대한 기준도 적용한다

  • 프로그래밍 요구사항에는 함수의 길이를 15라인으로 제한하는 규칙이 포함되어 있다.
  • 이 규칙은 main() 함수도 동일하게 적용되며, 공백 라인도 한 라인으로 간주한다.
  • 만약 함수가 15라인을 초과한다면, 역할을 더 명확하게 나누고, 코드의 가독성과 유지보수성을 높일 수 있는 신호로 인식하고 함수 분리 또는 클래스 분리를 고려해야 한다.

 

 

비즈니스 로직과 UI 로직의 분리한다

  • 비즈니스 로직과 UI 로직을 한 클래스에서 처리하는 것은 단일 책임 원칙(SRP)에 위배된다.
  • 비즈니스 로직은 데이터 처리 및 도메인 규칙을 담당하고, UI 로직은 화면에 데이터를 표시하거나 입력을 받는 역할로 분리한다.
  • 아래는 비즈니스 로직과 UI 로직이 혼재되어 있다.

 

 

 

연관성이 있는 상수는 static final 대신 enum을 활용한다

  • 연관성이 있는 상수는 static final 대신 enum을 활용하는 것이 더 효과적이다.
  • 이렇게 하면 관련된 상수를 그룹화하고, 각 상수에 관련된 속성과 행동을 부여할 수 있다.
  • 이는 코드의 가독성과 유지보수성을 크게 향상시킨다.
  • 아래처럼 로또의 당첨 등수를 나타내는 Rank 열거형은 각 등수마다 일치하는 숫자 개수와 상금을 정의할 수 있다.

 

 

final 키워드를 사용해 값의 변경을 막는다

  • 값의 변경을 방지하기 위해 final 키워드를 사용하는 것은 매우 중요한 습관이다.
  • 불변 객체(Immutable Object)를 생성함으로써, 값이 한 번 설정되면 그 이후에는 변경되지 않도록 보장할 수 있다.
  • 이는 예기치 않은 값의 변경으로 인한 오류를 방지하고, 코드의 안정성을 높일 수 있다. .

 

 

 

객체의 상태 접근을 제한한다

  • 객체의 상태 접근을 제한하는 것은 캡슐화(Encapsulation)의 중요한 원칙 중 하나다.
  • 인스턴스 변수의 접근 제어자를 private으로 설정하면 외부에서 직접 해당 변수에 접근하거나 수정하는 것을 방지하여 객체의 상태는 외부에서 통제되지 않고, 객체 내에서만 관리될 수 있다

 

 

필드(인스턴스 변수)의 수를 줄이기 위해 노력한다