위 내용은 Google의 Swift Style Guide에 대하여 컨벤션을 학습하기 위해 번역한 글입니다.
🌐 참고 링크: Swfit Style Guide
아래의 목차를 확인하시고 우측의 바로가기를 통해 빠르게 확인할 수 있습니다.
Index | Title | Subtitle | Detail |
---|---|---|---|
1️⃣ | Source File Basics | File Encoding | |
Whitespace Characters | |||
Special Escape Sequences | |||
Invisible Characters and Modifiers | |||
String Literals | |||
2️⃣ | Source File Structure | File Comments | |
Import Statements | |||
Type, Variable, and Function Declarations | |||
Overloaded Declarations | |||
Extensions | |||
3️⃣ | General Formatting | ||
Column Limit | |||
Braces | |||
Semicolons | |||
One Statement Per Line | |||
Line-Wrapping | |||
Function Declarations | |||
Type and Extension Declarations | |||
Function Calls | |||
Control Flow Statements | |||
Other Expressions | |||
Function Declarations | |||
Type and Extension Declarations | |||
Function Calls | |||
Control Flow Statements | |||
Other Expressions | |||
Horizontal Whitespace | |||
Horizontal Alignment | |||
Vertical Whitespace | |||
Parentheses | |||
4️⃣ | Formatting Specific Constructs | Non-Documentation Comments | |
Properties | |||
Switch Statements | |||
Enum Cases | |||
Trailing Closures | |||
Trailing Commas | |||
Numeric Literals | |||
Attributes | |||
5️⃣ | Naming | Apple’s API Style Guidelines | |
Naming Conventions Are Not Access Control | |||
Identifiers | |||
Initializers | |||
Static and Class Properties | |||
Global Constants | |||
Delegate Methods | |||
6️⃣ | Programming Practices | Compiler Warnings | |
Initializers | |||
Properties | |||
Types with Shorthand Names | |||
Optional Types | |||
Error Types | |||
Force Unwrapping and Force Casts | |||
Implicitly Unwrapped Optionals | |||
Access Levels | |||
Nesting and Namespacing | |||
guards for Early Exits | |||
for-where Loops | |||
fallthrough in switch Statements | |||
Pattern Matching | |||
Tuple Patterns | |||
Numeric and String Literals | |||
Playground Literals | |||
Trapping vs. Overflowing Arithmetic | |||
Defining New Operators | |||
Overloading Existing Operators | |||
7️⃣ | Documentation Comments | General Format | |
Single-Sentence Summary | |||
Parameter, Returns, and Throws Tags | |||
Apple’s Markup Format | |||
Where to Document |
모든 Swift 소스 파일은 .swift 확장자로 끝납니다.
일반적으로 소스 파일의 이름은 기본 엔티티(Entity)를 포함한 것이 가장 잘 설명되어 있다고봅니다.
주로 단일 유형(Type)을 포함하는 파일에는 해당 유형(Type)의 이름이 있습니다.
프로토콜 준수로 기존 유형을 확장하는 파일은 더하기(+) 기호로 결합된 유형 이름과 프로토콜 이름의 조합으로 이름이 지정됩니다.
보다 복잡한 상황에서는 최선의 판단을 내리십시오.
예시
1. 단일 유형 MyType을 포함하는 파일의 이름은 MyType.swift입니다.
2. MyType 유형과 일부 최상위 도우미(helper) 함수를 포함하는 파일의 이름도 MyType.swift입니다.
(최상위 도우미는 기본 엔터티가 아닙니다.)
3. 프로토콜 MyProtocol에 적합성을 추가하는 유형 MyType에 대한 단일 확장을 포함하는 파일의
이름은 MyType+MyProtocol.swift입니다.
4.유형에 적합성, 중첩 유형 또는 기타 기능을 추가하는 MyType 유형에 대한 여러 확장을 포함하는
파일은 MyType+ 접두사가 있는 한 보다 일반적으로 이름을 지정할 수 있습니다.
예: MyType+Additions.swift.
5. 일반 유형 또는 네임스페이스(예: 전역 수학 함수 모음)에서 달리 범위가 지정되지 않은 관련 선언을
포함하는 파일은 설명적으로 이름을 지정할 수 있습니다. 예: Math.swift.