티스토리 뷰

반응형


코드 리뷰를 받으면서 세부적인 개선을 요청받은 부분은 예외처리였다.

아래 항목중 1번을 제외한 항목들은 모두 처음 듣는 권장 사항들이었다.

이번에 정리하면서 기억하고 다음 프로젝트에는 꼭 적용해야겠다. 


예외처리에 관한 권장사항은 다음과 같았다.


1. try~catch문 중에서 Exception으로 예외처리하지 않고, 세분화하기


Exception으로 처리하게 되면 Findbugs나 PMD에서 에러가 나서, 이 부분에 관해서는 인지하고 있었다.

Exception 처리를 지우고 나면 처리해야하는 예외에 대해 이클립스 자동완성 툴이 친절하게 가르쳐준다.

자동완성 툴을 뗄수 있을 순간을 기대해보며...처리해야 하는 예외에 대해 조금씩 공부해야겠다.



2. catch 안 블럭은 비우지 않기


보통 비우거나 System.out.println()처리를 했었다... 비우지 않기!! 명심해야겠다.


3. 개발서버에서는 e.printstacktrace()이나 System.out.println(e.toString())으로 처리해도 되지만, 운영서버로 코드 배포할때는 시스템출력이 아니라 log에 남기기


예외를 시스템에 출력해버리면 쉽게 읽을 수 있다.

그러면 출력된 예외를 모으고 모아서 프로그램의 약점을 알게 된다.

사내에서만 접근할 수 있는 개발서버는 상관이 없지만 공개되는 운영서버에서는  예외를 log로 처리해야한다.


4. 관리자 프로그램 log 페이지


코드리뷰에서 프로젝트에서 관리자부분에 log를 확인하는 부분이 없냐고 물으셔서 당황했었다;;

어떤 계정 혹은 user가 어떠한 활동을 했는지 확인 할 수 있어야한다.

내가 개발한 프로젝트 log에는 ip,시각,파일명이 출력이 된다. 특정 ip가 운영서버 시각기준으로 언제 어떤 메소드 혹은 파일에 접근하는 지만 출력되는 것이다.

이 부분에 관해서 ip가 어떤 user계정인지, 어떤 활동(DB접근 등)을 하는 지 더 구체적으로 log에 출력되어야하고,  이러한 사실들은 관리자 프로그램에서 쉽게 볼수 있어야한다.


5. 자원해제는 finally안에서


필요할 때 혹은 생각날 때 불특정 위치에 자원해제를 했었다.

이 부분에 관해 finally안에서 자원해제를 하는 것은 권장한다.

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함