Swift)네이밍 및 개발 규칙

Swift, Naming

Featured image

@

  1. class와 struct는 Pascal casing을 사용한다.
    class PlayerManager
    struct AnimationInfo
    
  2. 로컬 변수나 func 파라미터는 camel casing을 사용한다.
    func someMethod(someParameter: Int) {
     let someNumber:Int = 0
    }
    
  3. 상수의 경우 대문자와 밑줄을 사용한다.
    let SOME_CONSTANT = 1
    
  4. 변수 이름앞에 접두사를 붙입니다.
     1) 멤버 변수(m)
         - let mAge:Int = 27
     2) Bool 타입
         - let bFired:Bool = false
         - let mbFired:Bool = false
     3) enum 타입
         - enum eDirection { case North, South }
    
  5. 리턴 값이 있는 메소드는 리턴되는 값을 설명하는 이름을 가져야합니다.
    func getAge() -> Int {}
    
  6. 반복문을 사용할 때 index or employee 다신에 i, e를 씁니다.

  7. struct안에 함수를 넣지 않습니다. 순수한 데이터 뭉치입니다.

  8. 범위에 한 줄만 있어도 중괄호를 추가합니다.
    if bSomething {
     return    
    }
    
  9. switch 사용 중 case가 발생하지 않는 경우 assert(false)를 추가합니다. 문제가 발생했을 때 확인할 수 있습니다.
    switch (type) {
     case 1: break
     default:
         assert(false, "unknown type")
         break
    }
    
  10. 재귀함수를 사용할 경우 함수이름에 재귀함수를 명시합니다.
    func fibonacciRecursive() { }
    
  11. 클래스가 여러 파일에 걸쳐 있으면 이 파일이름은 클래스 이름으로 시작하고 밑줄과 하위 섹션 이름이 옵니다.
    class RenderWorld;
    RenderWorld_load.swift
    RenderWorld_demo.swift
    RenderWorld_portals.swift
    Event.storyboard
    Event_main.swift
    Event_detail.swift

  12. 함수 만들 때 규칙
    • 3번 이상 호출 되지 않으면 함수를 만들지 않는다.
    • 너무 간단한 한 줄짜리 코드를 함수로 만들지 않는다.
    • 내부에서만 도는 함수는 fileprivate or private로 정의한다.
    • 예외로 함수가 너무 길어진다면 짤라서 함수호출을 할 수 있고, 아니면 주석처리로 단위를 나눌 수 있다.
    • 전제조건으로 함수는 nil을 받지 않는다. 다만 nil을 받을 경우 함수이름에 orNil을 붙여준다. 반환값도 마찬가지
    • Swift에는 옵셔널이 있지만 github에서 문맥상 알기 어렵다.
    • 이와 비슷한 맥락으로 함수형 프로그래밍이 있다.