2

そのため、NSDictionary を返すクラスにいくつかのメソッドがあり、応答があります。問題は、 NSDictionary を返しても、ディクショナリが何を保持しているかが実際にはわかりません。

別のプログラミングが私のクラスを使用したい場合、特定のメソッドが返す情報の種類を正確に理解するのが面倒だと感じるでしょう。

私の質問は次のとおりです。これは悪いプログラミング設計と見なされますか? クラスは自明で再利用可能であるべきです。

それとも、ディクショナリが保持するキーを判断できるため、これは問題ないと考えられますか?キーが十分に説明的である限り、自明である必要がありますか?

4

2 に答える 2

1

答えは次のとおりです。ITは依存します

プロジェクト全体でオブジェクトの代わりに辞書を使用する場合、それは悪い設計です。設定のリストや同様のケースなど、特定の状況でのみ使用する場合は、問題ない可能性があります。

このコードが他の人によって使用される場合は、どこかに文書化して、そこから何が得られるかを人々が理解し、辞書が実際に何を表しているかを理解できるようにしてください。

(私はかつて、すべてが実際のドキュメントを備えた辞書であるプロジェクトに取り組んでいたので、辞書の内容を知る唯一の方法は、デバッグモードに移動し、ブレークポイントを設定し、デバッガーで値を確認することでした。これは実行したくないです。人々に。)

于 2012-08-20T09:38:25.217 に答える