★본인 코드에 주석 반드시 달기★
클래스 이름과 메서드 이름, 필드와 지역 상수 모두 상수 이름 : 파스칼 케이스 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#
복사
쓰레기통