
C# 코드를 포맷하는 올바른 방법은 없을 수 있지만, 팀 전체에서 일관된 스타일에 동의하면 더 깔끔하고 읽기 쉽고 확장 가능한 코드베이스를 만들 수 있습니다. 이 페이지에서는 스타일 가이드를 만들 때 클래스, 메서드, 주석에 대한 팁과 주요 고려 사항을 확인할 수 있습니다.
참고: 여기에서 제공하는 권장 사항은 Microsoft에서 제공한 내용을 기반으로 합니다. 최고의 코드 스타일 가이드는 팀의 요구 사항에 맞는 규칙입니다.
코드 스타일 가이드 예시를 찾을 수 있습니다 여기 또는 전체 전자책을 다운로드, 클린 및 확장 가능한 게임 코드에 C# 스타일 가이드 사용.
명명과 함께 포맷 지정은 추측 작업을 줄이고 코드의 명확성을 개선합니다. 표준화된 스타일 가이드를 준수하면 코드가 어떤 모습인지 보다 코드가 수행하는 부분을 더 잘 검토할 수 있습니다.
팀의 요구 사항에 맞게 예시 규칙을 생략, 확장, 수정하세요.
모든 경우 팀에서 각 포맷 지정 규칙을 어떻게 구현할지 고려한 다음 모든 팀원이 일관되게 적용하도록 하세요. 불일치를 해결하려면 팀의 스타일을 다시 참고하세요.
Unity 개발 스타일 가이드를 설정할 때 다음 코드 포맷 지정 권장 사항을 고려하세요.
프로퍼티는 클래스 값을 읽거나 쓰거나 계산할 수 있는 유연한 메커니즘을 제공합니다. 프로퍼티는 공용 멤버 변수처럼 동작하지만 실제로는 액세서라는 특수 메서드입니다. 각 프로퍼티에는 private 필드에 액세스하는 get 및 set 메서드가 있습니다. 이 메서드는 backing 필드라고 합니다.
이 방식으로 프로퍼티는 데이터를 캡슐화하여 유저. '광고 지면'의 타겟 고객 또는 외부 객체로부터 원치 않는 변경을 방지합니다. 각각의 getter와 setter에는 고유의 액세스 한정자가 있어 프로퍼티를 읽기-쓰기, 읽기 전용, 쓰기 전용으로 설정할 수 있습니다.
액세서를 사용하여 데이터를 검증하거나 전환할 수도 있습니다(예: 데이터가 선호하는 포맷에 맞는지 확인하거나 값을 특정 유닛으로 변경).
프로퍼티의 구문은 달라질 수 있으므로 스타일 가이드에서 포맷 지정 방법을 정의해야 합니다. 다음 팁을 사용하여 코드에서 프로퍼티의 일관성을 유지하세요.
단일 라인 읽기 전용 프로퍼티에 표현식 본문 프로퍼티 사용 (=>): 그러면 private 지원 필드가 반환됩니다.
기타는 오래된 { get; set; } 구문을 사용합니다. 지원 필드를 지정하지 않고 공용 프로퍼티를 노출하려는 경우에는 자동으로 구현된 프로퍼티를 사용합니다. 세트에 표현식 본문 구문을 적용하고 액세서를 가져옵니다. 쓰기 권한을 부여하고 싶지 않다면 세터를 비공개로 설정해야 합니다. 다중 라인 코드 블록의 경우 클로저를 열기 중괄호와 정렬합니다.
스크립트 직렬화는 데이터 구조나 오브젝트 상태를 Unity 저장하고 나중에 재구성할 수 있는 포맷으로 변환하는 자동 프로세스입니다. Unity 성능상의 이유로 다른 프로그래밍 환경과 다르게 직렬화를 처리합니다.
직렬화된 필드는 인스펙터에 표시되지만 정적, 상수 또는 읽기 전용 필드는 직렬화할 수 없습니다. 공용 또는 [SerializeField] 속성으로 태그를 지정해야 합니다. Unity는 특정 필드 유형만 직렬화하므로 전체 직렬화 규칙 세트는 기술 자료 페이지를 참조하세요.
직렬화된 필드 작업 시 몇 가지 기본 가이드라인을 따르세요.
이 직렬화 가능한 클래스를 다른 클래스에서 참조합니다. 결과 변수가 인스펙터에서 축소 가능한 단위 내에 표시됩니다.

C#에는 두 가지 일반적인 들여쓰기 스타일이 있습니다.
이러한 들여쓰기 스타일에도 배리에이션이 있습니다. 이 가이드의 예에서는 Microsoft 프레임워크 디자인 가이드라인의 Allman 스타일을 사용합니다. 어떤 팀을 선택하든 모든 팀원이 같은 들여쓰기와 중괄호 스타일을 따르도록 해야 합니다.
들여쓰기는 일반적으로 두 개 또는 네 개의 공백으로 이루어집니다. 모든 팀원이 에디터 환경 설정에 동의하도록 하여 탭과 스페이스 플레임 전쟁을 일으키지 마세요. 참고로 Visual Studio는 탭을 공백으로 전환하는 옵션을 제공합니다.
Visual Studio(Windows)에서 도구 > 옵션 > 텍스트 편집기 > C# > 탭로 이동합니다.
Mac용 Visual Studio에서 Preferences > Source Code > C# Source Code로 이동합니다. Text Style을 선택하여 설정을 조정합니다.

중괄호는 단일 라인 구문에서도 생략하지 않습니다. 중괄호는 코드를 더 쉽게 읽고 관리할 수 있도록 일관성을 높입니다. 이 예시에서는 중괄호가 행동인 DoSomething을 루프에서 명확하게 분리합니다.
나중에 디버그 라인을 추가하거나 DoSomethingElse를 실행해야 하는 경우 중괄호가 이미 배치되어 있습니다. 구문을 별도의 라인에 두면 중단점을 쉽게 추가할 수 있습니다.
중첩된 멀티 라인 구문에서 중괄호를 제거하지 마세요. 이 경우 중괄호를 제거하면 오류가 발생하지 않지만 혼란을 일으킬 수 있습니다. 선택 사항이더라도 중괄호를 적용하면 명확성을 높일 수 있습니다. 중괄호를 사용하면 주변 구조를 리팩터링하지 않고도 새로운 로직을 추가하는 등의 수정 작업을 안전하게 수행할 수 있습니다.
포맷은 다를 수 있으므로 스타일 가이드에 팀 선호도를 문서화하고 그에 따라 스위치 구문을 표준화하세요.
다음은 활용 사례를 들여쓰는 예시입니다. 일반적으로 기본 표기법을 포함하는 것이 좋습니다. 기본 사례가 필요하지 않더라도(예: 가능한 모든 사례가 포함된 경우) 하나를 포함하면 예기치 않은 값을 처리할 수 있는 코드를 준비할 수 있습니다.
간단한 띄어쓰기처럼 코드의 화면 형상을 향상할 수 있습니다. 맞춤형 포맷 지정 선호도는 달라질 수 있지만, 다음 제안 사항을 사용하여 가독성을 높이세요.
공백을 추가하여 코드 밀도를 줄입니다.추가 화이트스페이스는 선의 부분 사이를 시각적으로 분리하여 가독성을 향상시킬 수 있습니다.
함수 인수 사이의 쉼표 뒤에 하나의 공백을 사용합니다.
괄호와 함수 인수 뒤에 공백을 추가하지 않습니다.
함수 이름과 괄호 사이에 공백을 사용하지 않습니다.
최대한 괄호 안에 공백을 두지 마세요.
플로 컨트롤 조건 앞에 하나의 공백을 사용하고 플로 비교 연산자와 괄호 사이에 공백을 추가합니다.
비교 연산자 앞과 뒤에 하나의 공백을 사용합니다.
선을 짧게 유지하십시오. 가로 화이트스페이스 고려: 표준 라인 너비(80~120자)를 정의합니다. 긴 행을 오버플로하는 대신 작은 구문으로 나누세요.
들여쓰기/계층 구조 관리: 코드를 입력하여 가독성을 높입니다.
가독성에 필요한 경우가 아니라면 열 정렬을 사용하지 마십시오. 이 유형의 간격은 변수를 정렬하지만 이름과 유형을 연결하기가 어려울 수 있습니다.
그러나 열 정렬은 비트식 또는 데이터가 많은 구조체에 유용할 수 있습니다. 항목을 추가할수록 열 정렬을 유지하는 작업이 늘어날 수 있습니다. 일부 자동 포맷터는 열의 어떤 부분이 정렬되는지 변경할 수도 있습니다.
세로 띄어쓰기를 활용해도 좋습니다. 스크립트의 관련 부분을 한데 모으고 공백을 사용하면 좋습니다. 다음과 같이 코드를 위에서 아래로 정리해 보세요.
최소한으로 유지하고 해당하는 경우 스타일 가이드에 기록하세요.
코드에서 지역 사용
지역, 도시 지시문을 사용하면 C# 파일의 코드 섹션을 축소하고 숨길 수 있으므로 대용량 파일을 더 쉽게 관리하고 읽을 수 있습니다.
하지만 이 가이드의 클래스에 대한 일반적인 조언을 따르는 경우 클래스 크기가 관리 가능하고 지역, 도시 지시문이 필요하지 않아야 합니다. 영역 뒤에 코드 블록을 숨기는 대신 코드를 더 작은 클래스로 분할하세요. 소스 파일이 짧으면 지역, 도시 추가하는 경향이 줄어듭니다.
참고: 많은 개발자는 지역을 코드 냄새나 안티 패턴으로 간주합니다. 어떤 측면에 속할지 팀별로 결정하세요.
이러한 포맷 지정 규칙이 너무 복잡해 보이더라도 절망하지 마세요. 최신 IDE를 사용하면 효율적으로 설정하고 적용할 수 있습니다. 포맷 지정 규칙 템플릿을 생성한 다음 프로젝트 파일을 한 번에 전환할 수 있습니다.
스크립트 에디터의 포맷 지정 규칙을 설정하려면 다음과 같이 하십시오.
스크립트 파일을 스타일 가이드를 반드시 준수하려면 다음과 같이 하세요.
Windows에서는 도구 > 가져오기 및 내보내기 설정에서 에디터 설정을 공유할 수도 있습니다. 스타일 가이드의 C# 코드 포맷이 있는 파일을 익스포트한 다음 모든 팀원이 해당 파일을 임포트하도록 합니다.
Visual Studio를 사용하면 스타일 가이드를 쉽게 준수할 수 있습니다. 그러면 단축키를 사용하는 것처럼 포맷 지정이 간단해집니다.
참고: Visual Studio 설정을 임포트하고 익스포트하는 대신에 EditorConfig 파일을 구성할 수 있습니다. 이렇게 하면 다양한 IDE에서 포맷을 더 쉽게 공유할 수 있으며, Version Control 작업할 수 있다는 이점도 있습니다. 자세한 내용은 .NET 코드 스타일 규칙 옵션을 참조하십시오.
이는 클린 코드에 특화되지 않지만, Unity에서 Visual Studio를 사용하여 프로그래밍 워크플로 속도를 높이는 10가지 방법을 확인해 보세요. 다음 생산성 팁을 적용하면 클린 코드를 훨씬 쉽게 포맷하고 리팩터링할 수 있습니다.

Visual Studio Code에서 .editorconfig 파일을 설정하려면 다음 단계를 따르세요.
다음은 C# 설정 예시입니다.
# 상단에 있는 EditorConfig 파일
root = true
# 모든 파일을 끝내는 새 줄의 Unix 스타일 새 줄
[*]
end_of_line = lf
insert_final_newline = true
# 4 공간 들여쓰기
[*.cs]
indent_style = space
indent_size = 4
charset = utf-8
trim_trailing_whitespace = true
# Makefiles용 탭 들여쓰기
[Makefile]
indent_style = tab
# JSON 파일에 대한 구체적인 설정
[*.json]
indent_style = space
indent_size = 2
명명 규칙에 대한 자세한 내용은 여기 또는 전체 전자책을 확인하세요. 자세한 코드 스타일 가이드 예시도 살펴볼 수 있습니다.