[피노키오] Google Java Style Guide 적용하기

조유정·2024년 1월 15일
0

피노키오

목록 보기
3/3

제멋대로 코드,,, 더뎌지는 리팩토링,,,

피노키오 리팩토링을 하며... 가장 큰 문제점을 찾았다...
코드가 통일되지 않고 구현되어 있다는 것!!

가독성이 떨어지다보니,
리팩토링을 진행하는 과정에서 코드를 읽고 분석하는 데만 상당한 시간이 소요되었다.

문제 분석 - 1단계: 통일되지 않은 코드

문제점 1) 축약어에 대한 명명 규칙이 없다

▶️ id에 대해서
ReportService.java에서는 모두 대문자로 명명되었으나
ReportRepository.java에서는 앞글자만 대문자로 명명되었다.

▶️ Jwt는 앞글자만 대문자로 명명되어 있으나, FCM은 모두 대문자로 명명되어 있다.

문제점 2) 멋대로 사용되는 들여쓰기, 띄어쓰기

▶️ userRepository는 왜 "=" 와 붙어 있는 것이며...

▶️ 람다식을 사용할 때에도, "->"와 딱 붙어있는 모습을 볼 수 있고...

문제점 3) 지나치게 많은 일을 하는 메소드

addDoubt라는 메소드는
(1) userId를 불러오고
(2) 목소리를 저장하고
(3) 의심내역을 저장하는 세가지 일을 하고 있다.

이렇게 주석이라도 있다면 다행지만, 기존 프로젝트에서는 주석이 없는 경우가 대부분이다.

문제점 4) 계속, 자주, 반복적으로 사용하는 코드를 중복 사용

  • ReportService.java의 addReport()

  • DoubtService.java의 sendSms()

  • SmsService.java의 getReportCount()

  • SosService.java의 sosList()

▶️ header를 통하여 전달된 JWT 토큰에서 id를 추출하고, user Entity를 가져오는 기능은 거의 대부분의 메소드에서 필요한다. 이 부분을 사용하는 메소드는 모두 따로 구현하여 동작되고 있다...

문제 분석 - 2단계: 추가적인 코드 통일 장치의 필요성

사실 기존 프로젝트를 진행하면서 Code Convention이 없었던 것은 아니다.
위 사진은 지난 프로젝트를 관리했던 Notion이다.
분명 규칙탭에 Code Convention이 존재한다. 사실 저 부분 내가 만들었다ㅋㅋㅋ

규칙이 존재하고, 프로젝트를 진행하며 Code Convention대로 나름 신경썼다고 생각하였다.
그러나 결과적으로 중구난방 대잔치를 하고 있던 것!

"현재는 백엔드 개발자가 3명이라서 이 정도이지 않았을까?" 라는 생각이 들고
"규모가 더 큰 프로젝트를 진행하면, 코드 규칙을 어떻게 다 관리할 수 있을까?" 라는 걱정도 들기 시작한다.

즉, Code Convention에 대한 개발자의 이해와 활용이 가장 중요하겠만, Code Convention을 위한 별도의 장치가 분명히 필요하다!

Google Java Style Guide를 활용하여 코드를 정리하자

Google Java Style Guide 관련 링크

IntelliJ에서 Google Java Stype Guide 적용하기

  • IntelliJ IDEA > Settings > Editor > Code Style > 상단의 톱니바퀴 모양을 누르기 > Import Scheme > IntelliJ IDEA code style scheme > intellij-java-google-style.xml 선택

IntelliJ에서 저장할 때마다 Google Java Stype Guide 적용하기

  • IntelliJ IDEA > Settings > Tools > Actions on Save > Reformat code, Optimize imports 체크

Google Java Style Guide 익히고 활용하기

https://newwisdom.tistory.com/96
구글 자바 스티일 가이드를 번역해둔 블로그 글이다.
참고해서 익히고 활용해보자!

profile
나는 아직 멍청하다

0개의 댓글