Swift

Swift) Clean Code Tips

Jimmy Youn 2021. 8. 7. 01:25

 왜 클린 코드를 쓸까? 

  • 시간과 비용 절약을 위해.
  • 쓰기 쉬운 코드를 적는데 집중하지 말고 읽기 좋은 코드를 쓰는데 집중하자. 

클린 코드를 쓰기 위한 몇가지 tips 

1. 의미 있는 네이밍을 사용하고 의도가 정확한 네이밍을 사용하자

var num = 24 // no
var numberOfProfiles = 9 // yes
func request() {

} // no

func fetchUserProfiles() {
  
} // yes

 

2. 한개의 function 에는 다수의 기능을 넣지 말고 한가지의 정확한 기능만 만들어서 사용하자 

 

3. Bool 타입의 변수는 앞에 'is' 를 붙여서 사용하자 

var expired : Bool = false // fine but no
var expired : Date = Date() // 헷갈린다.


var isExpired : Bool = false // yes

 

4. 부정을 중복으로 사용하지 말자 

// not good 
var isNotClosed = false 

func doSomething() {
  if !isNotClosed { // ! 와 notClose 부정이 중복되니 헷갈릴수도 있다. 
    // do something
  }
}


// good 
var isClosed = false

func doSomething1() {
  if isClosed {
    // do something
  }
}

 

5. Nil coalescing Operator 를 잘 활용하자 

var name = ""
var myName : String?


// not good 
func rename() {
  if myName != nil {
    name = myName!
  } else {
    name = "N/A"
  }
}

// good, more simple 
func rename () {
  name = myName ?? "N/A"
}

 

6.  삼항 연산자를 잘 활용하자

var response = 0
var message = ""

// not good 
func checkResponse() {
  if response == 200 {
    message = "ok"
  } else {
    message = "error"
  }
}

// good and simple 
func checkResponse() {
  message = response == 200 ? "ok" : "error"
}

 

7. static 변수의 활용 

struct Setup {
  static let apiKey = "12345"
  
  struct Url {
    static let privacyPolicy = "asdfasdf"
    static let termsOfService = "asdfasdfadf"
  }
}

func doSomethingWithApiKey() {
  print(Setup.apiKey)
  print(Setup.Url.termsOfService)
}

 

8. mark 를 잘 활용하자

//MARK: - Properties
var propertyOne = 0

//MARK: - Functions
func functionOne() {
  
}

func functionTwo() {
  
}

//MARK: - @objc func 
@objc func buttonClicked() {

}

 

9. Extension 을 잘 활용해서 코드 중복 사용을 최소화 하자