반응형
‘Code Convention(코드 컨벤션)’이란, 특정 프로그래밍 언어에 권장되는 프로그래밍 스타일에 대한 가이드를 의미합니다.
소프트웨어 유지보수성이 요구되는 Microservice에서는 반드시 설정 및 자동화하기를 권장합니다.
요약
개발팀이 얻는 이익
- 팀 내 표준 코딩 방식 적용: 코드 품질 향상화 기반 제공
- 코드 변경 복잡도 감소: 리랙토링 시 형식이 아닌 내용에 집중할 수 있도록 하여 커뮤니케이션 비용 절약
- 의미있는 코드 볼륨 정보 제공: 일관된 형식으로 변경 사항이 저장된 커밋에서 DevOps 지표 수집 가능
도입시 고려할 지점
- 오픈소스 검토: 해당 언어의 커뮤니티에서 공통적으로 선택하는 옵션 고려
- 개발팀이 선택한 패키지 매니저와의 연동 여부: build 프로세스로 자동화할 수 있도록 적용
- 개발팀이 선택한 IDE와의 연동 여부: 개발시 자동으로 코드에 자동으로 적용할 수 있는지 여부
Java 기준 검토 결과
Spring Framework 기반 Application을 위해 개발팀의 언어는 Java 가 Main Language 입니다.
따라서, Java 진영에서 가장 인지도가 높고 계속 유지 관리되는 컨벤션을 우선 검토합니다.
Tools | CheckStyle | Spotless | EditorConfig | CodeStyle |
Type | Inspector (Format, Analysis) | Formatter | Formatter | Formatter |
GitHub Star | 6.9k | 2.4k | 2.6k | - |
Major Version | gradle/5.62.0 (2022.03) | gradle/6.3.0 (2022.02) | gradle/0.0.3 (2018.10) | - |
Plugin (PKG) | The Checksytle Plugin | Spotless plugin for Gradle | editorconfig-gradle-plugin | - |
Plugin (IDE) | CheckStyle-IDEA | Spotless Gradle | EditorConfig + Guide | (bundle) |
Style List | google-java-format (기본) | google-java-format 외 다수 | Universal IDE Styling | - |
Config Type | xml-file styling (CheckStyle Scheme) |
goovy styling | .editorconfig file | |
Pros |
|
|
|
- |
Cons |
|
|
|
- |
References | ||||
Recommend | 조직 내 전사 규칙 생성시 추천 | 빠른 통합을 위한 쉬운 도입 | 보조 필요시 도입 | 동일한 스키마를 IDE 내 적용 권장 |
** 상기 글은 특정 page에서 참조하였습니다.
** 참조. 주요 Java Code Styling List
반응형
'고기 대신 SW 한점 > DEVOPS' 카테고리의 다른 글
[DevOps] CI (Continuous Integration) 완전 정복 (3) | 2022.12.07 |
---|---|
[DevOps] CD, Routing 컨트롤을 통한 Rollout 방안 (0) | 2022.10.26 |
[Helm] k8s package manger - 낱낱이 알아보기 (0) | 2022.10.24 |
[istio] Circuit Break 구현 (0) | 2022.10.14 |
[Backend] 개발 환경 구성 : 끝장내기 (0) | 2022.10.11 |