Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Java
- 정보처리기사 실기 기출문제
- Pinpoint
- aws
- CKA 기출문제
- AI
- APM
- 정보처리기사실기 기출문제
- 코틀린 코루틴의 정석
- kotlin spring
- Linux
- PETERICA
- Kubernetes
- CKA
- 기록으로 실력을 쌓자
- kotlin querydsl
- kotlin coroutine
- AWS EKS
- 정보처리기사 실기
- IntelliJ
- CloudWatch
- Elasticsearch
- 오블완
- mysql 튜닝
- kotlin
- minikube
- Spring
- 공부
- 티스토리챌린지
- MySQL
Archives
- Today
- Total
피터의 개발이야기
[JAVA] 코드 컨벤션의 필요성,IntellJ 코드 컨벤션 설정 본문
반응형
구글 자바 컨벤션 가이드
ㅁ 코드 컨벤션(Code Convention)
코딩 컨벤션은 읽고, 관리하기 쉬운 코드를 작성하기 위한 일종의 코딩 스타일 규약이다. 개발은 대부분 혼자가 아닌 협업으로 개발하기 때문에 본인이 작성한 코드가 다른 사람들이 이해하기 어렵다면 협업에 문제가 발생하게 된다. 같은 프로젝트 안에서 다른 개발자의 코드를 이해하는데 시간이 소요된 만큼 작업의 능률은 떨어지고, 기능에 대한 오해로 인해 오류가 쉽게 발생할 수 있다. 그래서 코드의 스타일(코딩 규칙)을 통일하기 위한 협약, 약속을 코드 컨벤션이라고 한다. 코드 컨벤션의 궁극적인 목표는 누구나 쉽게 코드를 이해하고 사용할 수 있게 하기위함이다.
ㅁ 코드컨벤션의 필요성
- 소프트웨어를 개발하는 일련의 모든 과정에 들어가는 비용 중 80%가 유지보수이다.
- 소프트웨어의 유지보수를 그 소프트웨어를 직접 개발한 개발자가 담당하는 경우는 드물다.
- 코딩 컨벤션은 다른 개발자도 코드를 더 빠른게 이해할 수 있도록 코드의 가독성을 높인다.
- 소스코드를 제품으로 납품하는 경우, 작성한 다른 제품과 마찬가지로 패키징이 잘 되도록 소스코드를 통일시켜야 한다.
ㅁ 대표적 코딩 컨벤션
- NAVER : 캠퍼스 핵데이 Java 코딩 컨벤션
- Google : Google Java Style Guide
- Oracle : Code Conventions for the Java
- TOAST : https://ui.toast.com/fe-guide/ko_CODING-CONVENTION
ㅁ 코딩 컨벤션을 IntelliJ에 포맷터로 적용하기
ㅇ IntelliJ의 포맷터를 제공해 주는 곳은 다음과 같다.
ㅇ IntelliJ용 Naver XML 포맷터를 다운받는다.
ㅇ Preferences > Editor > Code Style로 이동하여 다음 그림의 IntellJ IDEA code style XML 메뉴를 클릭한다.
ㅇ 다운받은 XML을 등록하면 다음처럼 Code Style이 적용된다.
ㅁ 포팻터 단축키
- Window : Ctrl + Alt + L
- Mac : Cmd + Alt + L
ㅇ 테스트를 위한 간단한 For문을 작성하였다.
ㅇ 단축키를 누르면 페이지 전체가 코드 컨벤션에 따라 조정된다.
ㅁ 함께 보면 좋은 사이트
ㅇ 오라클 자바 컨벤션(1.1 Why Have Code Conventions)
https://www.oracle.com/java/technologies/javase/codeconventions-introduction.html#16712
ㅇ 구글 자바 컨벤션 가이드
https://google.github.io/styleguide/javaguide.html
ㅇ 네이버 자바 컨벤션 가이드
https://naver.github.io/hackday-conventions-java/
반응형
'Programming > JAVA' 카테고리의 다른 글
JAVA 조직도 트리구조 만드는 재귀코딩 (0) | 2023.05.08 |
---|---|
[Java] 정규식 사용법 정리, Pattern, Match (1) | 2023.02.17 |
[Java 8] Stream은 사용 후 반드시 close 해야합니까? (0) | 2023.02.08 |
[JAVA] Mysql varchar에 맞춰 java subString 방법 (0) | 2022.05.23 |
[JAVA] Serialization, 직렬화와 역직렬화 (0) | 2021.01.24 |
Comments