
안녕하세요 인터럽트입니다.
이번포스팅에서는 여러 개발자들과 협업으로 개발을 하면서 가장 필수적이고 가장 기본적인 컨벤션에 대해서 알아보겠습니다.
컨벤션 중에서도 이번에는 변수나 함수, 클래스등의 이름을 짓는 네이밍컨벤션을 집중적으로 다뤄보려고 합니다.
컨벤션이란
코딩 컨벤션이란 소스코드를 작성하는 데 있어서 암묵적인 규칙이라고 볼 수 있습니다.
강제성은 없지만 모두가 규칙에 맞춰서 작성하려고 노력하고 있죠, 왜 그럴까요?
사실 컴파일러는 우리가 얼마나 들여쓰기를 하든, 어떤 네이밍 규칙을 쓰든 상관이 없습니다.
문법만 잘 사용하고 오류만 안 나면 문제가 없지요. 하지만 해당 코드를 보는 사람의 관점에서 규칙이 없이 작성된 코드를 볼 때 가독성이 안 좋습니다.
어? 나는 1인 개발자인데 혹은 나는 학생이 나는 개인프로젝트를 하는데 규칙을 지켜야 할까?
라는 생각을 할 수도 있습니다. 하지만!!! 큰 착각이라고 말씀드리고 싶네요.
한 달 혹은 1년 후의 내가 지금의 나와 똑같을 까요? 미래의 나는 타인과 다를 게 없습니다.
작성한 소스를 오랜만에 분석할 때 가독성이 떨어지면 분석하기가 훨씬 힘이 들겠죠
또한 규칙을 지키고 작성한 코드는 가독성뿐만 아니라 유지보수의 효율도 높여줍니다.
다만 각 언어 혹은 회사별로 컨벤션이 다를 수 있으니 해당 환경에 맞춰서 사용하셔야 합니다.
프로그래밍 표기법
프로그래밍 표기법이란 위에서 설명한 것과 같이 변수, 객체, 클래스등의 이름을 지을 때 사용하는 규칙입니다.
규칙을 잘 사용해서 이름을 지으면 이름만 보고도 클래스인지, 상수인지 정의를 보지 않아도 바로 알 수 있죠
Camel Case(카멜 케이스)
카멜 케이스는 변수, 함수, 메소드, 객체등의 이름을 지정하는데 가장 일반적으로 사용되는 방식입니다.
첫 단어를 소문자로 시작하고 두 번째 단어부터는 첫 글자를 대분자로 시작합니다.
myObject, calculateTotalAmount
Pascal Case(파스칼 케이스)
주로 클래스명을 작성할 때 사용되며 각 단어의 첫 글자를 대문자로 시작합니다.
MyClass, PersonInformation
Snake Case(스네이크 케이스)
주로 변수명, 함수명, 파일명 등에 사용되며 Python, Rudy, SQL에서 주로 사용합니다.
단어 사이에 언더스코어를 사용하여 단어를 구분합니다.
my_child_name, calcurate_total_amount
Kebab Case(케밥 케이스)
파일명, URL경로, HTML 속성, css 등에 사용합니다.
단어 사이에 하이픈을 사용하여 단어를 구분합니다.
my-child-name, calcurate-total-amount
Hungarian Notation(헝가리안 표기법)
변수 이름 앞에 해당 변수의 데이터타입 혹은 컨트롤명을 나타내는 접두사를 붙이는 방식입니다.
과거에는 많이 사용됐으나 현재는 많이 사용하고 있지 않습니다.
intAge : 정수형변수를 사용할 때 이처럼 앞에 자료형을 적어주고 뒤에 변수명을 적어줍니다.
strName : string형이고 변수명은 Name입니다.
Upper Snake Case(어퍼 스네이크 케이스)
상수, 변수, 환경변수, 설정변수 등에 사용됩니다.
모두 대문자로 작성하며 단어를 언더스코프로 구분합니다.
MY_CHILD_NAME, MY_AGE
UPPER Case
모두 대문자로 작성하는 네이밍 방법입니다.
주로 상수를 나타낼 때 사용합니다.
HELLO, WORLD
Lower Case
모두 소문자로 작성하는 네이밍 방법입니다.
hello, world
※case-sensitive 언어처럼 소문자, 대문자를 구분하는 언어에서는 upper case와 lower case는 서로 다른 문자열로 취급되니 주의하셔야 합니다.
자 이번포스팅에서는 코딩컨벤션을 왜 지켜야 하는지와 코딩컨벤션에서 많이 사용되는 네이밍 룰에 대해서 알아보았습니다. 앞으로는 각 언어별로 어떤 컨벤션이 있는지 각각 알아보려고 합니다.
일단 저에게 익숙한 C#부터 Java, Javascript 등 여러 가지 언어를 배울 때마다 컨벤션을 추가하려고 해요
오늘도 읽어주셔서 감사합니다.


안녕하세요 인터럽트입니다.
이번포스팅에서는 여러 개발자들과 협업으로 개발을 하면서 가장 필수적이고 가장 기본적인 컨벤션에 대해서 알아보겠습니다.
컨벤션 중에서도 이번에는 변수나 함수, 클래스등의 이름을 짓는 네이밍컨벤션을 집중적으로 다뤄보려고 합니다.
컨벤션이란
코딩 컨벤션이란 소스코드를 작성하는 데 있어서 암묵적인 규칙이라고 볼 수 있습니다.
강제성은 없지만 모두가 규칙에 맞춰서 작성하려고 노력하고 있죠, 왜 그럴까요?
사실 컴파일러는 우리가 얼마나 들여쓰기를 하든, 어떤 네이밍 규칙을 쓰든 상관이 없습니다.
문법만 잘 사용하고 오류만 안 나면 문제가 없지요. 하지만 해당 코드를 보는 사람의 관점에서 규칙이 없이 작성된 코드를 볼 때 가독성이 안 좋습니다.
어? 나는 1인 개발자인데 혹은 나는 학생이 나는 개인프로젝트를 하는데 규칙을 지켜야 할까?
라는 생각을 할 수도 있습니다. 하지만!!! 큰 착각이라고 말씀드리고 싶네요.
한 달 혹은 1년 후의 내가 지금의 나와 똑같을 까요? 미래의 나는 타인과 다를 게 없습니다.
작성한 소스를 오랜만에 분석할 때 가독성이 떨어지면 분석하기가 훨씬 힘이 들겠죠
또한 규칙을 지키고 작성한 코드는 가독성뿐만 아니라 유지보수의 효율도 높여줍니다.
다만 각 언어 혹은 회사별로 컨벤션이 다를 수 있으니 해당 환경에 맞춰서 사용하셔야 합니다.
프로그래밍 표기법
프로그래밍 표기법이란 위에서 설명한 것과 같이 변수, 객체, 클래스등의 이름을 지을 때 사용하는 규칙입니다.
규칙을 잘 사용해서 이름을 지으면 이름만 보고도 클래스인지, 상수인지 정의를 보지 않아도 바로 알 수 있죠
Camel Case(카멜 케이스)
카멜 케이스는 변수, 함수, 메소드, 객체등의 이름을 지정하는데 가장 일반적으로 사용되는 방식입니다.
첫 단어를 소문자로 시작하고 두 번째 단어부터는 첫 글자를 대분자로 시작합니다.
myObject, calculateTotalAmount
Pascal Case(파스칼 케이스)
주로 클래스명을 작성할 때 사용되며 각 단어의 첫 글자를 대문자로 시작합니다.
MyClass, PersonInformation
Snake Case(스네이크 케이스)
주로 변수명, 함수명, 파일명 등에 사용되며 Python, Rudy, SQL에서 주로 사용합니다.
단어 사이에 언더스코어를 사용하여 단어를 구분합니다.
my_child_name, calcurate_total_amount
Kebab Case(케밥 케이스)
파일명, URL경로, HTML 속성, css 등에 사용합니다.
단어 사이에 하이픈을 사용하여 단어를 구분합니다.
my-child-name, calcurate-total-amount
Hungarian Notation(헝가리안 표기법)
변수 이름 앞에 해당 변수의 데이터타입 혹은 컨트롤명을 나타내는 접두사를 붙이는 방식입니다.
과거에는 많이 사용됐으나 현재는 많이 사용하고 있지 않습니다.
intAge : 정수형변수를 사용할 때 이처럼 앞에 자료형을 적어주고 뒤에 변수명을 적어줍니다.
strName : string형이고 변수명은 Name입니다.
Upper Snake Case(어퍼 스네이크 케이스)
상수, 변수, 환경변수, 설정변수 등에 사용됩니다.
모두 대문자로 작성하며 단어를 언더스코프로 구분합니다.
MY_CHILD_NAME, MY_AGE
UPPER Case
모두 대문자로 작성하는 네이밍 방법입니다.
주로 상수를 나타낼 때 사용합니다.
HELLO, WORLD
Lower Case
모두 소문자로 작성하는 네이밍 방법입니다.
hello, world
※case-sensitive 언어처럼 소문자, 대문자를 구분하는 언어에서는 upper case와 lower case는 서로 다른 문자열로 취급되니 주의하셔야 합니다.
자 이번포스팅에서는 코딩컨벤션을 왜 지켜야 하는지와 코딩컨벤션에서 많이 사용되는 네이밍 룰에 대해서 알아보았습니다. 앞으로는 각 언어별로 어떤 컨벤션이 있는지 각각 알아보려고 합니다.
일단 저에게 익숙한 C#부터 Java, Javascript 등 여러 가지 언어를 배울 때마다 컨벤션을 추가하려고 해요
오늘도 읽어주셔서 감사합니다.
