2016-12-07 3 views
1

나는 Swift에 대해 API Design Guidelines을 읽었으며 질문의 제목에서 말한 엔티티의 이름과 관련하여 몇 가지 게시물을 읽었지만 아직 명확하지 않습니다.부울, 상수 및 @IBAction 선택자에 대한 신속한 명명 규칙?

나는 Swift 3으로 개발 중입니다.

  1. 부울 변수 has-is- 접두사 또는 둘 프리픽스 적합해야 하는가?
  2. Bool 선택자를 반환하는 메서드의 접두사는 is/has이어야합니다.
  3. 예를 들어, 마법 번호를 피하기 위해 정의하는 상수 변수는 k으로 시작해야합니까? (예 : kMaxLength). 나는 이것이 Objective-C에 대한 컨벤션이라고 생각하며 Swift도 마찬가지인가?
  4. @IBAction 선택자의 이름은 작업을 트리거하는 컨트롤 또는 작업을 참조해야합니까? (예 : doneButtonTappedvalidateInput 대)
+0

이 아니라 의견의 문제 없지만, 제대로 지침을 따르십시오 : 1 + 2 예를, 3에는, 4 일 – Moritz

+0

문서는 언제나 회담이다. 무엇인가를 이해하는 가장 좋은 방법은 구현을 보는 것입니다. 스위프트 라이브러리를 확인하고 모범 사례를 찾을 수 있습니다. 그리고'@ IBAction'을 위해 나는 개인적으로 당신이 언급 한 방식이 옳다고 생각하며 가이드 라인에 의해 뒷받침됩니다. –

+0

4 번에 관해서는 두 메소드를 구현하는 것을 고려할 것입니다 :'doneButtonTapped'은 이벤트를 받고'validateInput' 메소드에 위임합니다. – Raginmari

답변

1

스위프트 일반 명명 규칙은 여기에서 확인할 수 있습니다 https://swift.org/documentation/api-design-guidelines/#general-conventions

  • 사용이 때 부울 메서드와 속성의 사용 에 대한 주장으로 수신기을 읽어야 비 돌연변이, 예 x.isEmpty, line1.intersects(line2).
  • 다른 유형, 속성, 변수 및 상수의 이름은 명사로 읽어야합니다.
+0

할 일 목록을 나타내는 유형은 어떻게됩니까? 작업이 아직 완료되었는지 여부를 나타내는 플래그를 가질 수 있습니다. 이 속성은 쓰기 가능해야합니다. 이 경우에는 두 가지 선택 사항이 있습니다 : item.isDone = true'을 쓰고 ** not not "notmutating"이면 쓰거나'item.done = true'라고 쓰면 getter는'let isDone = item.done'. 어떻게 생각해? – Raginmari

+0

"done"속성의 이름을 정한다고 가정합니다. 접두어 "is"를 사용하여 속성을 쿼리 할 수있게하는 한 가지 방법은 형식을 확장하는 것입니다 :'var isDone : Bool {return done}'. 명백한 단점은 동일한 속성을 읽는 두 가지 다른 방법이 있다는 것입니다. – Raginmari