줄 바꿈 규칙
- 키워드나 함수, 클래스를 정의하는 등 새 괄호를 열 때는 줄바꿈을 해요.
private void GetValue() {
// NO!
}
private void GetValue()
{
// OK!
}
접근 제한자 명시
- 접근 제한자를 분명하게 구분하고 이를 명시해요.
void Awake() { } // NO!
private void Awake() { } // OK!
필드 / 프로퍼티
- 지나친 전역 변수 사용은 되도록 지양해요.
- 필요한 필드는 되도록 private으로, 외부에서 접근해야 하는 경우 프로퍼티로 관리해요.
public int count; // NO!
public int Count { get; set;} // OK!
public float Hp { // OK!
get => _hp;
set {
_hp = value;
// ...
}
}
private float _hp; // OK!
명명 규칙
- private, protected 필드는 ‘_’를 붙이고, 프로퍼티는 대문자로 시작해요.
- [SerializeField] 속성을 가진 필드는 ‘_’ 없이 사용해요.
- 매개변수나 로컬 변수 등은 그대로 써요.
private int count; // NO!
private int _count; // OK!
[SerializeField] private string _name; // NO!
[SerializeField] private string name; // OK!
public int count { get; set; } // NO!
public int Count { get; set; } // OK!
public int GetCount(List<int> _list) { } // NO!
public int GetCount(List<int> list) { } // OK!
private void Awake()
{
int _count = 1;
// NO!
}
private void Awake()
{
int count = 1;
// OK!
}
- 변수나 함수의 이름은 역할이 잘 드러나도록 지어주세요.
- 변수의 이름은 명사형으로, 함수의 이름은 동사형으로 지어주세요.
- 조금은 길어도 괜찮으니 축약하기보다는 풀네임을 써 주세요. (축약하고 싶은 것은 이렇게 하자! 하고 팀원들과 같이 정해봅시다)
private int _idx; // NO!
private int _index; // OK!
private int Count() { } // NO!
private int GetCount() { } // OK!
private int GetCountEnemyInScreen() { } // OK!
private SpriteRenderer _sr; // NO! (이렇게 축약하기로 모두와 약속했다면 OK입니다)
private SpriteRenderer _spriteRenderer // OK!
주석