본문 바로가기

반응형

- Clean Code

String literals should not be duplicated api호출 시 반환받는 json에서 "count"를 꺼내쓸 일이 있어서 사용했었는데, 다른 api에서도 "count"를 쓸 일이 있어 사용하게 됐더니 code smell로 잡혀서 상수로 선언했습니다. 더보기
Throwable.printStackTrace(...) should not be called catch 문에서 별생각 없이 e.printStackTrace를 사용했더니 스택 로그에 기본 스트림을 출력할 때 문제가 발생한다고 경고받았습니다. 빠르게 log.error로 변경했습니다. ㅠㅠ 더보기
DecimalFormat BigDecimal로 선언된 데이터에 시각화하기 위해 DecimalFormat을 사용했습니다. DecimalFormat("###,###,###,###");으로 서비스(@Service)에 생성하여 사용했는데 Non-thread-safe로 잡혀 아래처럼 모델(@Data)에서 선언하여 처리하도록 변경했습니다. BigDecimal : https://halfstorage.tistory.com/45?category=875846 더보기
Non-thread-safe fields should not be static 제가 만든 유틸을 위와 같이 사용할 때 아래와 같은 에러가 발생했습니다. Non-static method '' cannot be referenced from a static context 우선 원인은 static method는 그 class를 객체화하지 않아도 사용 가능해야하는데 해당 method에는 class를 객체화(인스턴스)해야 쓸 수 있는 method가 들어가면 안되기 때문입니다. 1차원 적으로 스태틱이 아니면 안된다니까 해당 메서드를 스태틱으로 변경했었습니다. 변경 후 이슈없이 잘 동작했습니다. 하지만... 소나큐브(클린코드 툴)에서 아래와 같이 스레드로부터 안전하지 않은 필드는 static으로 생성하지 않기를 권장했습니다. 우선 static 예약어를 제외하여 선언했습니다. @Component로.. 더보기

반응형