質問: [] // case 1 //******* // should i use a func... func countofattendees() -> int { return attendees.count } // ...or a var var countofattendees: int { return attendees.count } // case 2 //******* // should i use a func... func countofpaidattendees() -> int { return attendees.filter({$0.haspaid}).count } // ...or a var var countofpaidattendees: int { return attendees.filter({$0.haspaid}).count } } 上記の2つのケースでfunctionsまたはcomputed propertiesを使用するのがベストプラクティスですか?
回答: 私は最近kotlinを学び始めました、そして彼らは計算されたプロパティをいつ使うべきかについて素晴らしいヒューリスティックを持っています: 関数とプロパティ 場合によっては、引数のない関数は読み取り専用プロパティと交換可能です。セマンティクスは似ていますが、どちらを優先するかについてはいくつかのスタイル上の規則があります。 基本となるアルゴリズムが次の場合、関数よりもプロパティを優先します。 投げません o(1)複雑さ 計算するのが安い(または最初の実行時に計算される) 呼び出しに対して同じ結果を返します - https://kotlinlang.org/docs/reference/coding-conventions.html