非メンバー関数はカプセル化を増やし、よりエレガントなデザイン (デザイン的に) を可能にするという Scott Meyer の主張は、私には非常に有効に思えます。こちらをご覧ください:記事
しかし、私はこれに問題があります。(そして、他の人たち、特に通常これを完全に無視するライブラリ開発者たちもそうです)
メンバー関数を使用すると、通常、コードはより適切で論理的に見えます。ただし、これは後天的な好みである可能性があり、最初にアルゴリズムを見て、次にオブジェクトを見ることに慣れる必要があります。(身震い)
だから多分私は1つだけ問題があります:
メンバー関数を使用すると、私 と私のIDEはクラスで何ができるかを理解できます。
私にとって、これは巨大です!プログラミングのメンバー関数コード補完をサポートしていないものは何も使用しません。適切に設計されたライブラリでは、ドキュメントが完全に置き換えられます。そして、API doc を見ても、メンバー リストに目を通してみると、非常に自然で論理的であり、まあ、これで終わりだと確信できます。メソッドがそこにない場合は、それが存在しないと安全に仮定でき、非メンバー非友人を書くことができます。
私は STL でこれを我慢しました。なぜなら、アルゴリズムを基本的なコンポーネントから切り離して見ることは理にかなっており、それに慣れているからです。
特定のクラスでどの非メンバー関数が機能するかを教えてくれる IDE を見たことがありません。
そして、これは実際に私の質問です: このコード規則に役立つ IDE (または IDE 機能) はありますか?