본문 바로가기
코딩 교육 기관/코드스쿼드 백엔드 레벨2

2018.10.25 (목)

by 성건희 2018. 11. 11.
반응형

코드스쿼드 14일차


데일리 미팅

테스트 코드를 작성하고 프로덕션 코드를 작성하는 연습을 해야한다!

하지만 잘 되지 않는다. 우리는 항상 프로덕션 코드를 먼저 작성해왔기 때문에.

이것을 짝 프로그래밍을 통해서 해결하도록 한다.

 

Exception

오늘은 Skull 과 짝 프로그래밍을 진행하였다.

예외처리 로직을 구현하는 과정에서 알게된 내용은 다음과 같다.

 

  • 테스트를 할때는 경계값에 대해서 테스트하는 것이 좋다

    ex 값의 범위가 0 ~ 24 일경우, -1 과 25를 테스트한다.

  • RuntimeException : 유저가 만든 익셉션

  • CompileTimeException : Exception

  • throw : 익셉션 인스턴스를 만들고 throw 를 통해 익셉션을 반환 ( 던진다 )

    (= return 과 동일)

  • throws : 메서드를 처음 읽는 사람이 메서드의 input과 output을 보는데 그 다음 throws를 본다.

    그러면 그것만 보고 '이 메서드는 이런 예외를 발생할 수 있겠구나' 라고 알 수 있음

    런타임 익셉션은 throws 를 생략해도 됨 (하지만 써주는 것이 더 나을 수 있다)

    컴파일 타임 익셉션은 throws 를 생략할 수 없음.

    throws 키워드를 통해 이 익셉션을 메서드를 사용하는 개발자한테 니가 처리하라고 알려줌

    이게 싫으면 try catch 로 구현. 하지만 아무런 일도 하지 않으므로 불필요한 일을 함

  • 익셉션 종류가 여러가지 일때는

    1. '|' 를 이용

    2. 제일 상위의 익셉션을 catch 함

    3. catch (Exception e)

  • 문법은 암기를 통해 해결하고 ( throw , throws 등…)

    이해할 부분은 런타임 익셉션과 컴파일 익셉션 차이를 이해하는 것이 중요하다.

  • 자바를 처음 쓰는 사람들이 컴파일타입익셉션을 매우 사랑했다.

    그러다보니 thorws 를 통해 남용, 맨날 thorws만 함. 코드 지저분.

    정말 필요한 경우 아니면 컴파일 타임익셉션은 사용하지 않는것이 좋다!

    그냥 런타임 익셉션을 사용하고 반드시 try catch 를 통해 처리해야 하는 경우에만 컴파일 타임 익셉션을 쓰기.

  • 많은 개발자들이 익셉션 사용에 익숙하지가 않음.

    버그를 줄이려면 익셉션의 활용이 매우 중요하다.


반응형

'코딩 교육 기관 > 코드스쿼드 백엔드 레벨2' 카테고리의 다른 글

2018.11.01 (목)  (2) 2018.11.11
2018.10.29 (월)  (2) 2018.11.11
2018.10.22 (월)  (0) 2018.11.11
2018.10.17 (수)  (0) 2018.11.11
2018.10.15 (월)  (0) 2018.11.11

댓글