⭐️ 사용시점에 명확하게 이해하는 Naming
⭐️ 명료함 >>>> 간결함
⭐️ 이해를 위한 Summary 주석 달기
employees.remove(at: Index) ✅ - at을 통해 Index 위치를 명확히 알려주자
employees.remove(Index) ❌
명확함을 위해 길게 써주는 것은 좋지만 단순히 타입을 다시 명시하거나, 반복된다면 간결하게 만들어주자 (remove 함수를 호출한다면, 타입인 Element 를 반복하지 말자)
public mutating func remove(_ member: Element) -> Element?
allViews.remove(cancelButton) ✅
allViews.removeElement(calcelButton) ❌
var string = “Hello” ✅
var greeting = “Hello” ❌
x.insert(y, at: z) ✅ “x, insert y at z”
x.insert(y, position: z) ❌
타입, 프로퍼티, 변수, 상수는 명사 사용하기
용어(Terminology) 잘 사용하기
Types / Protocols → UpperCamelCase 사용, 나머지 lowerCamelCase 사용
Parameters: defaulted parameter를 사용하여 가독성을 높이자
1. let order = lastName.compare(royalFamilyName) ✅
2. let order = lastName.compare(royalFamilyName, options: [] , range: nil, locale: nil) ❌
Argument Labels: 명확하고 통일성 있게 쓰자
1. a.moveTo(x: b, y: c ) ✅
2. a.move(toX: b , y: c) ❌
3. `view.dismiss(animated: false)` ✅
4. `view.dismiss(false)`❌
Bool 변수명 짓기 Tip - > is 를 사용하자
isEdited, isSelected - 과거분사 사용 ✅
isVisible, isReadable - 자체 형용사 사용 ✅
isEdit, isChange - 동사원형 사용 ❌
https://soojin.ro/blog/naming-boolean-variables ← 참조한 글을 보면 다양한 사용법이 더 존재하지만 아직 익숙하지 않으며 Swift에서 is가 컨벤션이어서 우선 통일하기로 했다..
중복 제거하기
struct Member {
let: identifier: String ✅
let: memberID: String ❌
}
let member = Member.identifier ✅
let member = Member.memberID ❌
참고한 글
https://www.swift.org/documentation/api-design-guidelines/#naming