카테고리 없음

Team Volans Convention

minquu 2022. 8. 6. 16:54
반응형

📜. 코드 컨벤션?


 - 코드 컨벤션이란 협업을 하는 개발자들에게 코드의 협약이다.
 - 컨벤션을 잘 지키면 코드의 유지, 보수, 수정이 용이하다는 장점이 있다.

 

 

💪. 우리의 목표는 가독성 !


 - 코드는 가독성이 중요하다.
    - 가독성이 뛰어난 코드는 내가 작성하지 않았어도, 보면 이해햐기 쉬운 코드가 가독성이 뛰어난 코드이다. 

 

 -  가독성이 뛰어난 코드란?

    - 일관성이 있는 코드 스타일
    - 간단하고 명료한 로직
    - 명확한 변수, 함수, 클래스의 네이밍이 일관적인 것
    - 이 코드를 접하는 누구나 이해가 쉬운 코드

 

 

1️⃣. Naming Rule !


- 표기법 

 - 특별한 케이스를 제외한 경우 CamelCase를 사용함

 - 위 룰은 유니티 에디터에서도 포함함

  ex) CamelCase / GetData / GetService / GetUserName ....

 

- 종류 별 네이밍

종류 convention 예시
변수
(Variable)
변수는 특별한 케이스를 제외한 경우
소문자로 시작하고, 그 이후는 카멜표기를 따른다.
string userName
int currentUsers
bool onCheckPlayer
함수
(Function)
함수는 동사로 시작하면서 명확한 이름으로 지어준다.
유추해서 파악하는 단어는 피해서 지어준다.
GetUserData()
AddColor()
ChangeImage()
클래스
(Class)
컴포넌트 개념으로 확실한 명시적인 제목으로 지어준다.
 - OOP 개념으로 접근하여, 개별적인 컴포넌트여야함
 즉. 의존성커플링이 적어야함

데이터 파싱을 위한 클래스나 특별한 이유가 아니고선, 스크립터에 다수 클래스를 만들지 아니한다.
CharacterMovement
DamagedChecker
ObjectGlowEffect
프로퍼티
(Property)
외부로 받아오는 값을 처리하거나 보안성이  필요한 경우 프로퍼티를 사용
C# 관례적인 프로퍼티 형태를 사용해 줌
프로퍼티 변수는 대문자로 시작해줌
private으로 사용할 내부 변수는 _변수 로 사용함
private string _playerHealth
public string PlayerHealth
{
    get
    set
}
     
     

 

- 피해야하는 네이밍

 - 특별한 의미가 없고, 불분명한 이름들 

  ex) list, arr, string01, userInt 

 - 자신만 아는 단어나 줄임을 하는 경우

  ex) GetUserData ----> GUD();  / aa / bb / cc / User -> u

 

 

 

2️⃣. 주석은 늘 친절함 !

 


- 주석은 항상 달아줘야함

 - 불과 2달 전에 했던 프로젝트도 다시보니 늘 새롭다...

 - 각 메서드마다 변수마다 또는 클래스마다 주석을 달아주자

 - 어떠한 로직을 이해할 때 주석을 보고 이해하는 것과 무작정 들어가서 보는 코드는 

    이해하는 시간의 양이 상당히 차이가 난다. 

 - 주석을 꼭 자세하게 달아주자

 

 

3️⃣. 너무 긴 줄을 피하자 !


- 너무 긴 줄은 가독성을 현저하게 떨어트린다.

 - .너무 긴 줄은 칸을 내려줘서 한 눈에 딱 들어오게 정리해주자

 

respawnPosition = new Vector3(inventorySlots[i].CharacterPosition.x, inventorySlots[i].CharacterPosition.y + 0.6f, inventorySlots[i].CharacterPosition.z);

---->

                respawnPosition = new Vector3
                    (inventorySlots[i].CharacterPosition.x,
                    inventorySlots[i].CharacterPosition.y + 0.6f,
                    inventorySlots[i].CharacterPosition.z);

 

 

4️⃣. Enum 타입을 적극 활용하자!


- C#에 Enum 형식은 유용하다

 - Enum은 다양한 형  변환으로 가독성을 올릴 수 있다.

 - 종류를 결정하는 값을 이넘은 int와 string으로 전환이 쉽기 때문에 가독성을 올릴수 있음

 

반응형