728x90 반응형 코드리뷰2 클린코드(Clean code) 15~16장 : 실제 라이브러리 분석 (JUnit, SerialDate) JUnit, SerialDate 같은 정말 많이 사용하는 라이브러리조차 작가가 여러 가지로 손대고 리팩토링하면서 좀 더 나은 결과물이 나옴을 확인하였음 변수 앞에 붙은 접두어를 제거한다. 의도를 명확히 표현하기 위해 조건문은 캡슐화한다. 즉, 조건문을 따로 메서드로 뽑아내고 적절한 이름을 짓는다. 중복되는 변수 이름을 수정해서 더욱 의미를 명확하게 표현한다. 조건문을 긍정문으로 반전시킨다. 함수 이름을 가독성 있게 수정한다. 수행하는 일이 다른 함수를 따로 분리한다. 오래된 주석 수정 enum을 독자적인 소스 파일로 이동 정적 변수, 정적 메서드를 새 클래스로 이동 변수 이름 변경 새 메서드를 생성해 메서드간 중복 제거 어떤 일을 해도 마찬가지겠지만, 타인의 코드를 비판하거나 / 내 코드를 비판하는 걸 .. 2022. 9. 27. 18:24 Java 힙 공간 에러 발생한 배치 성능개선후기 2022.08.19 개발된지 3년이 넘은 이후로 마지막 수정 2019년 초 나 입사 전 그 뒤 전혀 수정 없이 매달 루틴하게 잘쓰던 자료 추출용 정기작업 배치에서 오류가 발생하였다. [문제점] 에러 로그를 보다보니 한가지 특이한 점, statistic에서 눈에 띄게 cpu time이 높은 걸 확인할 수 있었음 10분짜리 (워낙 대용량 자료를 인풋으로 하고있음) 작업이라 치면 8분이상은 cpu를 잡아먹음 그리고 로그에 찍힌 에러 발생한 원인도 java 힙 공간 에러 java.lang.outofmemory 어쩌고 저쩌고 로그가 가리키는 줄은 if (조건 a를 만족) -> b 로 출력한다 같은 단순한 라인이었지만 저 라인만이 문제가 아닐 것이라고 생각하여 코드 전체에 대한 분석을 팀원들과 함께 진행하였음 워낙.. 2022. 8. 22. 18:27 이전 1 다음 728x90 반응형