Code Convention

★본인 코드에 주석 반드시 달기★

클래스 이름과 메서드 이름, 필드와 지역 상수 모두 상수 이름 : 파스칼 케이스 PascalCase
//class, interface, struct 또는 delegate 형식의 이름을 지정할 때 파스칼케이스 public class DataService { } public struct ValueCoordinate { } public record PhysicalAddress( string Street, string City, string StateOrProvince, string ZipCode); //interface 이름을 지정할 때는 이름 앞에 I 접두사를 적용하고 파스칼식 대/소문자를 사용 public interface IWorkerQueue { } //public 멤버 이름을 지정할 때 파스칼 케이스 모든 메서드와 로컬 함수에 대해 파스칼케이스 사용 public bool IsValid; public IWorkerQueue WorkerQueue { get; init; } public void StartEventProcessing() { // Local function static int CountQueueItems() => WorkerQueue.Count }
C#
복사
메서드 인수, 지역 변수, 프라이빗 필드 : 카멜 케이스 camelCase
//지역변수 int userAge; char userName; //프라이빗 인스턴스 필드는 밑줄(_)로 private IWorkerQueue _workerQueue; //메서드 매개 변수를 작성할 때 카멜케이스 를 사용합니다. public T SomeMethod<T>(int someNumber, bool isValid) { }
C#
복사

중괄호 내려쓰기

// No public void Fun() { } // YES public void Fun() { }
C#
복사

공백 추가

// NO for(int i=0;i<100;i++){DoSomething(i);} // YES for (int i = 0; i < 100; i++) { DoSomething(i); } 함수 인수 사이의 쉼표 다음에 하나의 공백을 사용합니다. // NO CollectItem(myObject,0,1); // YES CollectItem(myObject, 0, 1); 괄호와 함수 인수 뒤에는 공백을 추가하지 않습니다. // NO DropPowerUp( myPrefab, 0, 1 ); // YES DropPowerUp(myPrefab, 0, 1); 함수 이름과 괄호 사이에 공백을 사용하지 않습니다. // NO DoSomething () // YES DoSomething() 대괄호 안에 공백을 사용하지 않습니다. // NO x = dataArray[ index ]; // YES x = dataArray[index]; 흐름 제어 조건 앞에 하나의 공백 사용: 비교 연산자와 괄호 사이에 공백을 추가합니다. // NO while(x==y) // YES while (x == y) 비교 연산자 앞뒤로 하나의 공백을 사용합니다. // NO if (x==y) // YES if (x == y)
C#
복사
쓰레기통