관리 메뉴

피터의 개발이야기

[JAVA] 코드 컨벤션의 필요성,IntellJ 코드 컨벤션 설정 본문

Programming/JAVA

[JAVA] 코드 컨벤션의 필요성,IntellJ 코드 컨벤션 설정

기록하는 백앤드개발자 2023. 2. 14. 23:58
반응형

구글 자바 컨벤션 가이드

 

ㅁ 코드 컨벤션(Code Convention)

  코딩 컨벤션 읽고, 관리하기 쉬운 코드를 작성하기 위한 일종의 코딩 스타일 규약이다. 개발은 대부분 혼자가 아닌 협업으로 개발하기 때문에 본인이 작성한 코드가 다른 사람들이 이해하기 어렵다면 협업에 문제가 발생하게 된다. 같은 프로젝트 안에서 다른 개발자의 코드를 이해하는데 시간이 소요된 만큼 작업의 능률은 떨어지고, 기능에 대한 오해로 인해 오류가 쉽게 발생할 수 있다. 그래서 코드의 스타일(코딩 규칙)을 통일하기 위한 협약, 약속을 코드 컨벤션이라고 한다. 코드 컨벤션의 궁극적인 목표는 누구나 쉽게 코드를 이해하고 사용할 수 있게 하기위함이다. 

 

 

ㅁ 코드컨벤션의 필요성

  • 소프트웨어를 개발하는 일련의 모든 과정에 들어가는 비용 중 80%가 유지보수이다.
  • 소프트웨어의 유지보수를 그 소프트웨어를 직접 개발한 개발자가 담당하는 경우는 드물다.
  • 코딩 컨벤션은 다른 개발자도 코드를 더 빠른게 이해할 수 있도록  코드의 가독성을 높인다.
  • 소스코드를 제품으로 납품하는 경우, 작성한 다른 제품과 마찬가지로 패키징이 잘 되도록 소스코드를 통일시켜야 한다.

 

 

ㅁ 대표적 코딩 컨벤션

 

ㅁ 코딩 컨벤션을 IntelliJ에 포맷터로 적용하기

 ㅇ IntelliJ의 포맷터를 제공해 주는 곳은 다음과 같다.

 

 ㅇ IntelliJ용 Naver XML 포맷터를 다운받는다.

naver-intellij-formatter.xml
0.00MB

ㅇ 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

 

Code Conventions for the Java Programming Language: 1. Introduction

We’re sorry. We could not find a match for your search. We suggest you try the following to help find what you’re looking for: Check the spelling of your keyword search. Use synonyms for the keyword you typed, for example, try "application" instead of

www.oracle.com

  ㅇ 구글 자바 컨벤션 가이드

https://google.github.io/styleguide/javaguide.html

 

Google Java Style Guide

1 Introduction This document serves as the complete definition of Google's coding standards for source code in the Java™ Programming Language. A Java source file is described as being in Google Style if and only if it adheres to the rules herein. Like ot

google.github.io

 ㅇ 네이버 자바 컨벤션 가이드

https://naver.github.io/hackday-conventions-java/ 

 

캠퍼스 핵데이 Java 코딩 컨벤션

중괄호({,}) 는 클래스, 메서드, 제어문의 블럭을 구분한다. 5.1. K&R 스타일로 중괄호 선언 클래스 선언, 메서드 선언, 조건/반복문 등의 코드 블럭을 감싸는 중괄호에 적용되는 규칙이다. 중괄호

naver.github.io

 

반응형
Comments