코딩 컨벤션 이란?
코딩 컨벤션은 코드 작성 시 일관성 있고 가독성 높은 코드를 작성하기 위한 일종의 규칙 또는 스타일 가이드입니다. 이는 개발자들이 협업할 때 코드의 가독성을 높이고, 유지보수 비용을 줄이기 위해 중요한 역할을 합니다
- 코딩 컨벤션은 전체 코드 작성 시 지켜야 하는 일반적인 스타일 가이드입니다.
- 이는 들여쓰기 방식, 주석 작성 규칙, 코드 블록의 구조, 세미콜론 사용 여부, 괄호 배치와 같은 전반적인 코드 스타일을 포함합니다.
- 언어에 따라 다르며, 협업에서 코드의 일관성과 가독성을 유지하기 위해 사용됩니다.
주요 컨벤션 요소 :
1. 네이밍 규칙
- camelCase: 변수나 함수명에 주로 사용되며, 첫 단어는 소문자, 이후 단어는 대문자로 시작합니다. 예: myVariable.
- PascalCase: 클래스나 타입 이름에 주로 사용되며, 모든 단어의 첫 글자를 대문자로 표기합니다. 예: MyClass.
- snake_case: 주로 상수나 파일명에 사용되며, 모든 단어를 소문자로 작성하고 언더바로 구분합니다. 예: MAX_VALUE
JAVA의 코딩 컨벤션의 종류
- NAVER : 캠퍼스 핵데이 Java 코딩 컨벤션
- Google : Google Java Style Guide
- Oracle : Code Conventions for the Java
더 많은 컨벤션이 있을 수 있겠지만 가장 많이 사용되는 컨벤션은 3가지 인 것 같다.
질문 내용 :
1. 자바의 네이밍 컨벤션과 이를 따르는 이유는 무엇인가요?
- 자바로 코딩할때 규칙입니다. 가독성과 유지보수성 협업시에 일관성을 높집니다.
2. 코딩 컨벤션을 통해 코드 일관성을 유지하는 전략은?
- 네이밍 규칙을 정합니다. 크게는 카멜케이스 파스켈케이스 스네이크 케이스가 있습니다. 해당 언어에 맞게 코드 일관성을 유지합니다.
3. 네이밍 컨벤션을 조직적으로 적용하기 위한 방안은?
- 먼저 에디터에 플러그인으로 네이밍 컨벤션을 설치합니다 그리고 형성관리 할때 컨벤션 체크 도구를 사용합니다 예를 들어서 서클CI등등 컨벤션 조작 도구를 이용하여 컨벤션이 안맞으면 푸쉬를 못하게 합니다.
4. 코드 리뷰 시 네이밍 관련 피드백을 줄 때 고려할 점은?
- 조직적으로 약속한 컨벤션을 지켰는지 확인합니다, 클래스나 변수명이 명사인지 동사인지 확인하고, 단순하게 명확한 영문인지 확인합니다.
5. 네이밍 컨벤션 위반 시 발생할 수 있는 문제와 해결책은?
- 초반엔 괜찮으나 점점 눈덩이 처럼 커져서 가독성과 유지보수성이 떨어집니다. 따로 런타임 시 오동작을 발생할수도 있습니다. 그래서, 1차적으로 써클 CI나 외부 툴을 이용하고 두번째로 코드리뷰시에 확인합니다.
6. 네이밍 컨벤션의 변화가 코드베이스에 미치는 영향은 무엇인가요?
- 협업시 일관시이 높아지고 가독성과 유지보수성이 높아집니다.
'Java' 카테고리의 다른 글
| 컴파일 타임과 런타임의 차이 (0) | 2024.10.10 |
|---|---|
| 자바 변수 네이밍 컨벤션 (1) | 2024.10.10 |
| [java] Integer 캐싱 (1) | 2024.10.06 |
| [java] 자바에서 스택과 힙의 차이 (0) | 2024.10.06 |
| [java]클래스가 상태값을 갖는다. (0) | 2024.10.06 |