SonarLint 와 Gpt 를 사용한 리팩터링

리브리버·2023년 6월 5일
0

Sonar Lint

코드를 작성하다보면 아래와 같은 의구심이 들때가 있습니다

  • 올바른 코드를 사용하였는가 ?
  • 내가 작성한 코드가 실전에서 사용되는 코드인가?

이 부분을 IDE의 힘을 빌려 혼자서도 간단히 코드리뷰를 받아볼 수 있다는 사실 알게되었습니다


코드 정적 분석이란?

  • 실제 프로그램을 실행하지 않고 코드의 형태에 대한 분석을 말한다. 위험성이 있는 코드, 미리 정의된 규칙이나 코딩 표준에 준수하는지에 대한 분석

Sonar Lint 는 IntelliJ에서 플러그인으로 쉽게 다운받아서 사용할 수 있습니다

Optional 과 관련된 간단한 예제를 통해 알아보겠습니다


아래는 기존에 작성된 코드 입니다


위와 같이 작성하니 SonarLint에서 아래와 같이 경고를 주었습니다


해석해보면 해당 member value에 접근할때 해당 변수가 존재하는지에 대한 여부를 체크 한 뒤에 사용하여야 한다 라는 메세지를 주고 있습니다.


알려준대로 작성해보니 정상 동작은 하지만 if-else 문이 반복되고 코드의 가독성이 떨어지는 부분이 아쉬웠습니다.



Gpt

이 내용을 Chat GPT에게도 물어보니


리팩터링

Gpt는 .orElseThrow 키워드를 제시해주었고 아래와 같이 적용해본 결과


해당 메세지가 해제된 것을 확인할 수 있었습니다

이를 통해 앞으로 코드를 작성시에 체크가 필요할 경우 다른사람에게 코드리뷰를 받는 것이 가장 좋은 방법이지만 여견이 되지 않을 경우 빠르게 피드백을 받을 수 있는 방법을 알 수 있게 되었습니다

0개의 댓글