코딩 스타일이란 코드의 일관성과 가독성을 보장하기 위한 규약으로, 코드 작성 시 발생할 수 있는 모호성을 줄이고 협업과 유지보수를 효율화하기 위한 권장 규칙입니다.
루아 스크립트는 다른 언어에 비해 유연하고 간결한 문법 구조를 가지고 있어, 개발자 간 통일된 규약을 마련하지 않으면 코드의 표현 방식이 지나치게 다양해질 가능성이 있습니다. 따라서 일관된 코딩 스타일을 사용함으로써 변수의 범위나 용도 등 코드의 의미를 빠르게 파악하고 개발 효율을 높일 수 있습니다.
선언 범위에 따른 이름 규칙
스크립트 상단에서 선언하는 파일 범위 변수와 함수나 제어문 등 특정 범위 안에서 선언하는 지역 변수를 구분하기 위해 다음과 같은 규칙을 사용합니다.
변수
스크립트 상단에서 선언하는 파일 범위 변수는 단어 첫글자를 모두 대문자로 명명합니다.
-- 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
팀 프로젝트에서
협업 프로젝트에서는 팀원 간의 코딩 스타일을 통일하는 것이 중요합니다. 일관된 코딩 스타일은 코드의 가독성을 높이고, 유지보수를 용이하게 하며, 팀원들 간의 원활한 협업을 도와줍니다. 따라서, 프로젝트 초기 단계에서 코딩 규칙을 정의하고 이를 모두가 준수하도록 하는 것이 바람직합니다. 팀의 합의에 따라 변수명, 함수명, 들여쓰기 스타일 등을 정하고, 이를 기반으로 작업을 진행하세요!