Repository navigation
Coding Convention
AppleMangoSpd edited this page Feb 15, 2021
·
39 revisions
협업과 코드 해석을 위해 FPSWithTower를 제작할 때 사용되는 코딩 규칙을 정리해둔 문서
읽기 쉬운 코드 작성을 목표로 작성됨
- public - protected - private 순으로 작성한다
예시
public class SampleClass { public void SamplePublicFunction(){ } public float _publicFloat; protected void SampleProtectedFunction(){ } protected float _protectedFloat; private void SamplePrivateFunction() { } private float _privateFloat; }
-
함수는 대문자부터 작성한다.
- 단어를 여러개 사용하는 경우 단어의 앞글자를 대문자로 작성한다.
-
변수는 소문자부터 작성한다.
- 단어를 여러개 사용하는 경우 두번째 단어부터의 앞글자를 대문자로 작성한다.
-
멤버변수는 _를 붙인다
-
메게변수와 지역변수는 _를 붙이지 않는다
예시
public class SampleClass { public void SampleFunction(float sampleVariable) { float localVariable = 10; } public float _sampleFloat; }
- bool반환함수는 앞에 is/has를 붙인다
예시
public class NamingSampleClass { public bool IsTrue() { return true; } public bool HasObject() { return true; } }
- 좌표 등을 표기할 때 변수의 X, Y는 마지막에 _와 함께 붙인다
예시
public float _coord_X; public float _coord_Y;
- var사용은 지양하되 아래와 같은 상황에서는 사용이 권장된다.
- 객체 생성시에는 뒤에 자료형이 명시됨으로 var사용을 통해 코드를 간결하게 작성
예시
//var == SampleClass var _sampleclass = new SampleClass();
- 모든 클래스는 대문자부터 작성한다
- 추상클래스는 앞에 A를 붙인다
- 인터페이스는 앞에 I를 붙인다
예시
public class SampleClass { } public abstract class ASampleAbstract { } public interface ISampleInterface { }
-
interface의 경우는 생략한다
-
기획적인 측면에서 수정이 필요하지만 외부클래스에서의 접근은 불가능한 변수들은 private 선언 후 SerializeField를 적용한다
[SerializeField] private float _playerSpeed;
- private변수의 get set은 이름 앞의 _를 빼고 변수명으로 만든다
private float _playerHp; public float playerHp { get; set; }
- 주석은 줄의 끝이 아닌 별도의 줄에 작성한다
예시
//SampleFunc에 대한 주석 public void SampleFunc()