스위프트의 코딩 스타일에 대해서 공부해보자:)
dqQQQ
·2023. 11. 28. 20:15
개요
애플에서 공식적으로 이렇게 해라!는 아니지만
스위프트 개발자들 사이에서 코드의 가독성을 위해서 정해놓은 가이드와 애플 공식문서의 예시를 따라서 스위프트 코딩 스타일을 알아보겠다.
Naming
변수
lowerCamelCase를 사용한다.
var namingVar: String = "good"
상수
lowerCamelCase를 사용한다.
let namingLet: String = "good"
함수
lowerCamelCase를 사용한다.
get으로 시작하는 naming은 지양.
Action 함수의 네이밍은 '주어 + 동사 + 목적어' 형태
Bool을 반환하는 함수에는 should~형태
func namingFunc(_ naming: String) -> String {
~~~
}
클래스
UpperCamelCase를 사용한다.
접두사를 붙이지 않는다.
class NamingClass {
~~~
}
구조체
UpperCamelCase를 사용한다.
struct NamingStruct: View {
~~~
}
열거형
UpperCamelCase를 사용한다.
각 Case들에는 lowerCamelCase를 사용한다.
enum NamingEnum {
case good, bad
}
약어
약어로 시작하는 경우 소문자로 표기
그 외의 경우는 대문자로 표기.
var swiftUI
var UIkit
Code Layout
들여쓰기
tab 금지
Space 2개로
띄어쓰기
불필요한 띄어쓰기 금지
콜론 :
의 경우에는 오른쪽에만
괄호
메소드의 괄호 및 기타 괄호등은 키워드 뒤에 공백과 함께 괄호
괄호 전 줄바꿈 금지
if condition == true {
~~~
} else {
~~~
}
줄바꿈
너무 길어져서 한줄에 표기가 힘들다면 파라메터 단위로 줄바꿈
func veryVeryLongLong(
_ longLong Paramater one: String,
_ longLong Paramater two: String
) -> String {
~~~
}
타입 추론
타입 추론은 강력한 기능
잘 활용하자
왠만하면 타입을 명시해주진 않음
import
알파벳 순으로 정렬
주석
///는 문서화에 필요한 주석
self
클래스와 구조체 내부에서는 self를 적음
웃음
:)가 아니라 :] 사용
상속
상속이 더이상 발생하지 않는 클래스는 final로 선언
'Swift' 카테고리의 다른 글
스위프트에서의 접근제어를 공부해보자:) (0) | 2023.11.29 |
---|---|
스위프트에서의 인스턴스의 생성과 소멸을 공부해보자:) (0) | 2023.11.28 |
스위프트의 불명확 타입에 대해서 공부해보자:) (0) | 2023.11.28 |
스위프트의 프로그래밍 패러다임에 대해서 공부해보자:) (0) | 2023.11.28 |
스위프트에서의 구조체와 클래스를 공부해보자:) (0) | 2023.11.28 |