Post

클린코드_원칙_이해

클린코드_원칙_이해

필기 가자

  • 클린 코드
    • 기독성
    • 유지보수성
    • 직관성
  • SRP 적용 전: // 하나의 메서드에 여러 역할 포함 public void processOrder(Long orderId) { // 상태 검증 if (orderId == null) { throw new IllegalArgumentException(“Invalid order ID”); }

    // 총액 계산 double total = calculateTotal(orderId);

    // 데이터 저장 saveOrder(orderId, total); }

​ 적용 후: // 단일 책임 원칙을 적용하여 역할 분리 public void processOrder(Long orderId) { validate(orderId); // 상태 검증 double total = calculateTotal(orderId); // 총액 계산 orderRepository.saveOrder(orderId, total); // 데이터 저장 }

// 상태 검증 클래스 private void validate(Long orderId) { if (orderId == null) { throw new IllegalArgumentException(“Invalid order ID”); } }

// 총액 계산 클래스 private BigDecimal calculateTotal(Long orderId) { return 100.0; // 예제용 값 }

  • 중복 코드 최소화 적용 전: if (order.getStatus().equals(OrderStatus.PENDING)) { // 주문 처리 } if (order.getStatus().equals(OrderStatus.COMPLETED)) { // 완료 처리 }

​ 적용 후: public void orderProcess(Order order) { if (isOrderStatus(order, OrderStatus.PENDING)) { // 주문 처리 } if (isOrderStatus(order, OrderStatus.COMPLETED))) { // 완료 처리 } }

private boolean isOrderStatus(Order order, String status) { return order.getStatus().equals(status); }

  • 부분환불 실습
    • 의문 : 환불시 재고 증가가 없음. 왜지?
      • 나도 이부분은 이제 모르겠다.

5.6 개선 포인트 종합

  • 의미 전달: 변수와 메서드 이름은 단순한 데이터가 아니라 역할과 의도를 전달해야 함.
  • 일관성 유지: 동일한 역할과 데이터를 처리하는 이름은 프로젝트 전반에서 일관성을 유지.
  • 약어 지양: 코드 리뷰어와 팀원이 쉽게 이해할 수 있도록 약어를 피하고 명확한 표현을 사용.

네이밍은 코드 가독성과 유지보수성을 결정짓는 핵심 요소로, 실습을 통해 이를 체득하는 것이 중요합니다.

수업 내용 필기 정리.

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