Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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
Archives
Today
Total
관리 메뉴

Jupyo's Daily Story

개발 규칙 - 공백/줄내림 본문

그 외

개발 규칙 - 공백/줄내림

JangJupyo 2024. 11. 12. 11:14
728x90
반응형

이 내용은 제가 개발할 때 정의한 스스로의 규칙을 정리한 내용입니다.

여러분의 좋은 팁이 있다면 댓글로 공유해주세요.

 

Indent

Xcode의 들여쓰기(Indent)는 코드의 계층 구조를 시각적으로 표현하기 위한 기능으로, 기본적으로 4칸의 공백을 사용하여 코드의 가독성과 구조를 개선하는 역할을 합니다.

if true {
    // 4칸 들여쓰기
    print("Hello")
}

 

프로퍼티

다수의 프로퍼티에 초기값을 적용할 때 가독성을 위해 아래와 같이 적용하는 경우가 있습니다.

let firstValue: Int                = 100
let secondValue: String            = "안녕하세요"
let thirdValue: CGFloat            = 3.14

 

이렇게 보면 깔끔하고 보기 좋지만 새로운 프로퍼티가 추가되거나, 이름이 길어지는 경우 매번 간격을 다시 변경해야 하는 번거로움이 발생합니다. 관리하지 않게 되면 결국은 가독성이 더 안 좋아지는 문제가 발생합니다. 그러므로 아래와 같이 바로 옆에 작성해주는 것을 규칙으로 하고 있습니다.

let firstValue: Int = 100
let secondValue: String = "안녕하세요"
let thirdValue: CGFloat = 3.14

 

연산자

덧셈, 뺄셈, 또는 비교하는 비교 연산자를 사용할 때도 양 옆에 항상 공백을 추가합니다.

let firstNum = 1
let secondNum = 2

let sum = firstNum + secondNum	// firstNum+secondNum (X)
let sub = firstNum - secondNum
let mul = firstNum * secondNum
let div = firstNum / secondNum

if firstNum == secondNum { }	// firstNum==secondNum (X)
if firstNum < secondNum { }

 

괄호별

개발에 사용하는 괄호에는 소괄호, 중괄호, 대괄호가 있습니다. 이 경우에도 괄호 내부에 적용하는 공백을 다르게 적용해주고 있습니다.

  • 소괄호 ()
// O, 선호하는 스타일입니다.
let size = CGSize(width: 100, height: 100)		

// X, 처음과 끝에는 공백이 없어야 합니다.
let size = CGSize( width: 100, height: 100 ) 

// X, 매개변수와 인자 사이에는 공백이 있어야 합니다.
let size = CGSize(width:100, height:100)
  • 중괄호 {}
// O, 선호하는 스타일입니다.
let index = array.firstIndex(where: { $0.Id == "1" })

// X, 중괄호의 처음과 끝에는 공백이 있어야 합니다.
let index = array.firstIndex(where: {$0.Id == "1"})

// X, 중괄호 내부의 연산자에도 공백이 있어야 합니다.
let index = array.firstIndex(where: { $0.Id=="1" })
  • 대괄호 []
// O, 선호하는 스타일입니다.
let dictionary = ["language": "Swift"]

// X, 대괄호 처음과 끝에는 공백이 없어야 합니다.
let dictionary = [ "language": "Swift" ]

// X, 콜론(:)과 Value 사이에는 공백이 있어야 합니다.
let dictionary = ["language":"Swift"]

 

반응형