seong_hye, the developer

Swift) Swift 스타일에 대해 알아보기 본문

IOS/SwiftUI

Swift) Swift 스타일에 대해 알아보기

seong_hye 2022. 11. 29.

 

코딩은 개인으로 진행되기도 하지만 많은 사람들이 같이 진행되는 것이다 보니 스타일이 필요하게 됨

📘  Swift Style

Swift 언어를 가독성 좋고 일관성 있게 작성하기 위한 규칙과 권장 방식

물론 법이 아닌 스타일이기에 변할 수 있다는 점 참고


🔍 Swift Style 핵심 요약

주제 스타일 원칙
네이밍 명확하고 간결하게,  camelCase 사용
들여쓰기 스페이스 4칸 (보통 XCode 기본은 4)
줄바꿈 중괄호 {}는 다음 줄에 작성
함수 설계 읽었을 때 자연어처럼 읽히도록
옵셔널 처리 안전하게, 명확하게
모듈 분리 타입, 기능 단위로 적절히 나눔

🔹 Naming

메소드 및 변수는 소문자로 시작하지만, 모듈단위의 클래스명과 상수는 대문자로 함 (= camelCase)
명확하고 간결하게 줄임말을 최소화하여 작성함

let namingStart = "Hi Nice to meet you"

문맥이 정확하지 않는 경우, 함수&이니셜라이저&외부 매개변수명에서는

전체로 이해할 수 있는 이름으로 구성된 매개변수를 사용


🔹 들여쓰기 & 중괄호

보통 XCode 기본 설정인 4칸 스페이스 들여쓰기가 기준

중괄호 {}는 다음 줄에 열기

if isLoggedIn {
	showMainScreen()
} else {
	showLogin()
}

🔹 함수명은 자연어처럼 작성

Swift 함수는 호출 시 자연스럽게 읽히는 문장처럼 만드는 것이 핵심

func add(user name: String, to group: String)

// 호출 형태
add(user: "춘향", to: "몽룡")

 


🔹 타입 명확히 사용하기

타입 추론을 믿지만, 복잡하거나 모호할 땐 명시하여 작성

let title: String = "Swift"
let numbers = [1, 2, 3]

🔹 옵셔널은 명확하게 작성

if let, guard let, ??, !를 구분해서 안전하게 사용

gurad let name = user.name else {
	return 
}

⚠️ 무조건 ! 사용은 위험함 (오류 발생의 주 원인)


🔹 상수(let) 우선 사용

변하지 않는 것은 무조건 let으로 선언

let maxCount = 5
var currentCount = 0	// 필요한 경우에만 var 사용

🔹 파일 / 모듈 분리

타입(ex. 모델, 뷰, 뷰모델)을 파일로 분리

확장은 MyType + Extension.swift처럼 따로 관리


🔹 매직 넘버, 하드코딩 피하기

상황에 따라 값이 변경되는 경우가 존재하기에 하드코딩을 피하고 상수로 분리하기를 권장

// 하드코딩 ❌
view.frame = CGRect(x: 0, y: 0, width: 375, height: 812)

// 의미 있는 상수로 분리
let defaultScreenSize = CGSize(width: 375, height: 812)
view.frame.size = defaultScreenSize

🔹 SwiftUI 스타일

구조 선언 깔끔하게

Modifier 순서 일관되게 작성 (e.g. .font -> .foregroundColor -> .padding)

Text("Hello")
	.font(.headline)
    .foregroundColor(.blue)
    .padding()

🔹 주석 스타일

설명은 꼭 필요할 때만

// 한 줄 주석을 깔끔하게, 블록 주석은 최소화

// 사용자 이름 가져오기
let name = user.name ?? "비회원"

📌 보너스: Swift Style 자동 정리 도구

도구 설명
SwiftLint 문법 및 스타일 규칙 검사 (네이밍, 공백 등)
SwiftFormat 코드 자동 포매팅 도구 (공식 스타일대로 정렬)

 

설치 예시:

brew install swiftlint

 

Comments