HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🚀
Random Bit Flip
/
🚀
[2기 - 우기] 2주차 RBF
🚀

[2기 - 우기] 2주차 RBF

주차
실리날아 데이터베이스
회고일
Apr 1, 2022
참여자
멘토
Property
tag

계산기 피드백 공유 내용 👍

  • 네이밍
    • 변수명/ 메소드명
    • 컨벤션 준수
    •  
  • 예외 처리
    • RuntimeExceptionvs Exception- 구분하여 사용
    • 복구할 수 없는 예외와 복구가능한 예외를 구분하여 사용하자
    • try-catch 블락을 한 곳에서 처리할 수 있도록 작성
      • 스프링의@ControllerAdvice 클래스 구현 처럼!!
       
  • 예외 발생이 필요한 테스트의 검증 방식
    • Junit - AssertThrow VS AssertJ - assertThatThrownBy
    • 검증에 사용하는 패키지의 통일
    •  
  • Code Formatting : Ctrl + Alt + L / ⌘ + ⌥ + L
    •  
  • HashMap에서 double brace initialization 사용 자제
    • Anti-Pattern!
      • 일반적이지 않은 초기화 방식
      • 내부적으로 새로운 클래스가 생성됨
      • 메모리 누수의 위험
 
  • 구현해야할 부분에 //TODO처리
    • 협업시 혼동 방지
 
  • 테스트 메소드의 작성시 명확한 케이스 구분
    • @ParameterizedTest @CsvSource(value = { "1+2+3+", "틀린 식", }) void 식이_옳바르지_않으면_예외가_발생한다(String expression) { assertThatThrownBy(() -> parser.parse(expression)) .isInstanceOf(PatternSyntaxException.class) .hasMessageContaining("올바른 표현식이 아닙니다."); }
      실패 케이스의 명확한 구분이 되지 않는다.
      🔻🔻🔻
      @Test void 파싱_실패_연산자로_끝자는_입력() { assertThatThrownBy(() -> parser.parse("1+2+3+")) .isInstanceOf(PatternSyntaxException.class) .hasMessageContaining("올바른 표현식이 아닙니다."); } @Test void 파싱_실패_한글이_들어간_입력() { assertThatThrownBy(() -> parser.parse("틀린 식")) .isInstanceOf(PatternSyntaxException.class) .hasMessageContaining("올바른 표현식이 아닙니다."); }
      실패 케이스의 구분 및 메서드명으로 상황을 표시 (공통되는 부분을 메서드로 뽑아내도 👍)
 
  • 간단한 로직이라도 메서드를 통해 가독성을 높일 수 있음

무엇보다 객체지향

  • 클래스의 역할을 적절하게 분배
 
‼️
작성하고 일년뒤에 보아도, 남이 보아도 알아볼 수 있는 코드를 짜자!!!
  • 핵심 클래스와 메소드에 주석
  • 예외를 발생시키는 상황에 대한 주석