2016-12-07 10 views
1

SwiftAPI 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

ドキュメントは常にちょうど交渉しています。何かを理解する最善の方法は実装を見ることです。 Swiftライブラリをチェックし、ベストプラクティスを見つけることができます。また、「@ IBAction」については、私が個人的にあなたが言及したやり方が正しいと感じており、ガイドラインも裏付けされています。 –

+0

番号4について:両方のメソッドの実装を検討します: 'doneButtonTapped'はイベントを受け取り、' validateInput'メソッドに委譲します。 – Raginmari

答えて

1

スウィフト、一般的な命名規則は、ここでご利用いただけますhttps://swift.org/documentation/api-design-guidelines/#general-conventions

  • 使用の場合は、ブールメソッドとプロパティの使用は についての表明として、受信機をお読みください非突然変異、例えばx.isEmpty, line1.intersects(line2)
  • 他ののタイプ、プロパティ、変数、および定数の名前は、名詞として読み取る必要があります。
+0

To-doアイテムを表す型はどうでしょうか?タスクがまだ完了しているかどうかを示すフラグを持っているかもしれません。このプロパティは書き込み可能であると想定されています。この場合、私は2つの選択肢があります: 'item.isDone = true'を書いてください。ここでは** not not" notmutating "であるか、' item.done = true'を書いてください。その場合、getterは 'let isDone = item.done'。どう思いますか? – Raginmari

+0

私は、プロパティに "done"という名前を付けることにします。接頭辞 "is"を使用してプロパティを照会する方法の1つは、型を拡張することです: 'var isDone:Bool {return done} '。これの明らかな欠点は、同じプロパティを読み取る2つの異なる方法があることです。 – Raginmari