ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • <Swift> 코드 컨벤션
    iOS/개념정리 2022. 3. 5. 12:40

    코드 컨벤션이란?

    코드 컨벤션이란 코드를 어떻게 작성할지 규칙을 정하는 것을 말한다.

     

    코드 컨벤션을 왜 사용하는가?

    1. 소프트웨어 개발의 80%는 유지보수에 사용한다.

    2. 가독성을 높여 다른 개발자들도 알아 보기 쉽게 한다.

    3. 코드리뷰 및 협업에 유용하다.

     

    코드 컨벤션

    1. Import

    import UIKit
    
    import SwiftyColor
    import SwiftyImage
    import Then
    import URLNavigator

    * 모듈은 알파벳 순으로 정렬합니다, 또한 내장 프레임 워크 먼저 임포트 하고, 빈줄로 구분하여 외장 프레임 워크를 임포트 합니다.

    * 파일이 필요로 하는 최소한의 모듈만 임포트 합니다.

     

    2. 빈줄

    * 모든 파일의 마무리는 빈줄로 합니다.

    * 빈줄에는 공백이 포함되지 않게 작성 합니다.

     

    3. 띄어쓰기

    * 클론(:)을 사용할때는 클론의 오른쪽만 띄어쓰기를 사용합니다.

     

    ⭕️

    var example: String = "String"

    var example:String = "String"

    * 삼항 연산자의 경우 클론(:) 앞뒤로 띄어쓰기를 사용합니다.

     

    ⭕️

    let myAgeIs: Int = 29
    myAgeIs > 30 ? print("30대입니다.") : print("20대입니다.")

    let myAgeIs: Int = 29
    myAgeIs > 30 ? print("30대입니다."):print("20대입니다.")

    * 콤마(,) 뒤에는 공백을 추가 합니다.

     

    ⭕️

    let myArray = [1, 2, 3, 4, 5]

    let myArray = [1,2,3,4,5]

    * 연산자 앞뒤로 공백을 추가 합니다.

     

    ⭕️

    let myValue = 10 + (20 / 2) * 2

    let myValue = 20+(30/2)*3

    * if let, guard let 의 구문이 긴 경우 줄바꿈과 들여쓰기를 사용해서 구분합니다.

    ⭕️

    if let noOptInt = optInt,
       let noOptString = optString{
        // ...
    }
    
    guard let noOptInt = optInt ,
          let noOptString = optString else{
        return //..something
    }

     

     

    *return 타입과 {}사이에 띄어씌기를 사용하여 구분합니다.

    ⭕️

    func hello() -> String {
        // ...
    }

    func hello()->String{
        // ...
    }

    * 클로저 타입

     

    ⭕️

    func closure(completion: () -> Void) {
        //..
    }

    func closure(completion:()->Void) {
        //..
    }

    4.  기타

    * 불필요한 괄호는 삭제합니다.

    ⭕️

    if count > 0 {
        // ..
    }

    if (count > 0){
        // ..
    }

    * 변수, 상수에는 lowerCamelCase를 사용하고 열거형(enum)의 case의 경우에도 lowerCamelCase를 사용합니다.

    ⭕️

    var userName = "hjp"
    let userAge = 28
    
    enum Some{
        case .success
        case .failure
        case .result
    }

    var username = "hjp"
    let USERAGE = 28
    
    enum Some{
        case .Success
        case .Failure
        case .Result
    }

    * 약어의 경우 약어로 시작하는 경우는 소문자로 작성하고, 그 외의 경우는 모두 대문자로 표기한다.

    ⭕️

    let userID: Int?
    let html: String?
    let myURL: URL?
    let urlString: String?

    let userId: Int?
    let HTML: String?
    let myUrl: URL?
    let URLstring: String?

    'iOS > 개념정리' 카테고리의 다른 글

    대칭 / 비대칭 양방향 암호화  (2) 2022.04.06
    <Swift> iOS 건강 데이터 사용하기- HealthKit  (2) 2022.03.18
    <Swift> Properties  (0) 2022.02.22
    <Swift> Delegate 활용  (0) 2022.02.21
    [Swift] 고차함수  (1) 2022.02.17

    댓글

Designed by Tistory.