Skip to content

코딩 컨벤션 & 스타일 가이드

완숙 edited this page Nov 8, 2021 · 18 revisions
  • commit - https://udacity.github.io/git-styleguide/

    예시) Feat: message  
    Feat: 새로운 기능 추가  
    Fix: 버그 해결  
    Docs: 리드미 작성  
    Style: 코드 변화가 없는 format 변경  
    Refactor: 코드 개선, 리팩토링  
    Test: 테스트 추가, 테스트 코드 리팩토링
    Chore: github action으로 인한 yml 수정, project file 수정, gitignore 추가, 폴더 혹은 파일 삭제, asset 추가
    
  • (function) naming - https://tv.naver.com/v/4980432/list/267189

    함수와 변수 이름은 lowerCamelCase로 짓는다.
    함수 이름은 동사형으로 짓는다.
    주석은 달지 않고 local reasoning이 가능하도록 함수, 변수명을 결정한다.
    클래스 내부의 프로퍼티명에는 클래스의 이름을 포함하지 않는다.
    축약어를 사용하지 않는다. (i -> identifier, idx -> index 등)
    
  • Property
    • weak, private, internal 사이에 공백을 주고 각 프로퍼티 사이에는 공백을 주지 않는다
    weak var delegate: Tagable
    
    private var model = ViewModel()
    private var dataSource = DataSource()
    
    var example: Int
    
    
  • Class & Function
    • 시작할때 한줄 개행 없이 바로 시작한다
    • 끝날때 개행 없이 끝맺음한다
    • Constant를 사용할 경우에는 Enum으로 Class 맨 상단에 작성한다
    • private는 extension으로 public 함수와 분리한다
  • Guard

    • 리턴만 있을 경우 한줄가능 그 이외는 개행
    • 여러개를 바인딩하는경우 무조건 개행
  • Optional

    • 명시적 언래핑을 사용한다.
    • 암시적 언래핑을 사용하지 않는다.
  • PR은 동작 가능한 단위여야 한다.

  • swiftLint를 사용은 하되 auto-correction 기능은 사용하지 않는다.

  • UI 요소 Optional 관련 이슈

    • issue
    • 모든 UI 변수는 명시적 옵셔널을 사용한다.
Clone this wiki locally