Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- singleton
- mvvm
- calendar
- uikit
- segue
- 화면전환
- Switch
- SWIFT
- list
- Animation
- 고차함수
- viewlifecycle
- struct
- IOS
- escaping
- class
- Git
- array
- 글또
- Refresh
- PushNotification
- error
- protocol
- Observer
- SWIFTUI
- NotificationCenter
- self
- apns
- http
- ScrollView
Archives
- Today
- Total
seong_hye, the developer
Swift) Swift 스타일에 대해 알아보기 본문
코딩은 개인으로 진행되기도 하지만 많은 사람들이 같이 진행되는 것이다 보니 스타일이 필요하게 됨
📘 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
'IOS > SwiftUI' 카테고리의 다른 글
Swift) List 속 DropDown 사용하기 (0) | 2023.07.20 |
---|---|
SwiftUI) Side Menu view에 대해 정리하기 (0) | 2022.12.06 |
Swift) 배열 데이터 나누고 리플래시로 받아오기 (0) | 2022.11.16 |
Swift) DarkMode 활용하기(ColorScheme) (0) | 2022.11.03 |
SwiftUI) Toast 생성해보기(normal, enum에 따른 toast) (0) | 2022.10.29 |
Comments