코딩 스타일

개요

코딩 스타일이란 코드의 일관성과 가독성을 보장하기 위한 규약으로, 코드 작성 시 발생할 수 있는 모호성을 줄이고 협업과 유지보수를 효율화하기 위한 권장 규칙입니다.

루아 스크립트는 다른 언어에 비해 유연하고 간결한 문법 구조를 가지고 있어, 개발자 간 통일된 규약을 마련하지 않으면 코드의 표현 방식이 지나치게 다양해질 가능성이 있습니다. 따라서 일관된 코딩 스타일을 사용함으로써 변수의 범위나 용도 등 코드의 의미를 빠르게 파악하고 개발 효율을 높일 수 있습니다.

선언 범위에 따른 이름 규칙

스크립트 상단에서 선언하는 파일 범위 변수와 함수나 제어문 등 특정 범위 안에서 선언하는 지역 변수를 구분하기 위해 다음과 같은 규칙을 사용합니다.

변수

스크립트 상단에서 선언하는 파일 범위 변수는 단어 첫글자를 모두 대문자로 명명합니다.

-- Good
local Number = 1       
GlobalValue = 2 


-- Bad
local number = 1 
globalValue = 2

함수나 제어문 등 특정 범위 안에서 선언하는 변수는 첫글자만 소문자로 명명합니다.

-- Good
local function SomeFunction()
    local value = 3
    
    if value >= 3 then
        local someBoolean = false
    end
end


-- Bad
local function SomeFunction()
    local Value = 3
    
    if Value >= 3 then
        local SomeBoolean = false
    end
end

함수

함수명은 단어 첫글자를 모두 대문자로 명명합니다.

-- Good
local function SomeFunction()
    print("Do Someting")
end

function SomeFunction()
    print("Do Someting")
end


-- Bad
local function someFunction()
    print("Do Someting")
end

function someFunction()
    print("Do Someting")
end

함수의 인자와 반환값

함수의 인자와 반환값은 첫글자만 소문자로 명명하고, 인자 사이에 공백을 넣습니다.

-- Good
local function Sum(numValue1, numValue2)
    local result = numValue1 + numValue2
    local isSuccess = (result ~= nil)
    return isSuccess, result
end


-- Bad
local function Sum(NumValue1,NumValue2)
    local result = NumValue1 + NumValue2
    local isSuccess = (result ~= nil)
    return isSuccess,result
end

연산자

연산자 사이에 공백을 넣습니다.

-- Good
local Sum = 1 + 5
local IsPositiveNumber = Sum > 0

if SomeValue == 1 && SomeValue == 2 then
    print("Valid Value")
elseif SomeValue == 3 then
    print("Value Exceeded)
else
    print("Invalid Value"")  
end


-- Bad
local Sum=1+5
local IsPositiveNumber=Sum>0

if SomeValue==1&&SomeValue==2 then
    print("Valid Value")
elseif SomeValue==3 then
    print("Value Exceeded)
else
    print("Invalid Value"")  
end

들여쓰기와 줄바꿈

코드의 범위와 흐름 등 코드의 계층 구조를 명확히 하기 위해 들여쓰기를 준수합니다.

-- Good
if someCondition1 then
    if someCondition2 then
        print("Correct!")
    end
end


-- Bad
if someCondition1 then
if someCondition2 then
    print("Correct!")
end
end

테이블이나 조건문, 반복문 등 제어문을 시작할때 줄바꿈을 넣습니다.

-- Good
local NumberList = 
{
    1, 2, 3
}

for i = 1, 5 do
    print(i)
end


-- Bad
local NumberList = {
    1, 2, 3
}

for i = 1, 5 do	print(i)
end

팀 프로젝트에서

협업 프로젝트에서는 팀원 간의 코딩 스타일을 통일하는 것이 중요합니다. 일관된 코딩 스타일은 코드의 가독성을 높이고, 유지보수를 용이하게 하며, 팀원들 간의 원활한 협업을 도와줍니다. 따라서, 프로젝트 초기 단계에서 코딩 규칙을 정의하고 이를 모두가 준수하도록 하는 것이 바람직합니다. 팀의 합의에 따라 변수명, 함수명, 들여쓰기 스타일 등을 정하고, 이를 기반으로 작업을 진행하세요!

Last updated