Skip to content

Code Convention

이강호 edited this page Oct 18, 2023 · 1 revision

THT Code Convention

DisposeBag은 VC에서만 사용

  • ViewModel에서 Relay나 Subjet 사용 시 Disposable형태로 넘겨주기
struct Output {
 ...
 let disposeble: Disposable
}

let disposeble = Driver.merge(locationStatus, marketingStatus).drive()

Operator

  • operator가 변경될 때는 항상 다음 라인으로 넘어가기
let marketingStatus = input.marketingServiceAgreeBtn
 .withLatestFrom(agreeStatus.asDriver()) { _, status in
 var mutable = status
 mutable.marketing.toggle()
 return mutable
 }
 .do { agreeStatus.accept($0) }

Property Set Method

  • initialize 시에는 make@@@()로 작성 makeUI()
  • 그 외 메소드 분리가 필요 시에는 setup@@@()로 작성 setupConstraint
  • cell이나 customView의 모델 바인딩 시에는 bind(viewModel: ) 또는 bind(model: ) 사용

해당 페이지가 2모듈 이상 필요한 경우 따로 독립된 코디네이터를 만든다.

Clone this wiki locally