ここで、MSDN for C#の命名規則を読むと、プロパティがパブリックフィールドや保護されたフィールドよりも常に優先されることが示されていることがわかります。パブリックフィールドやプロテクトフィールドは絶対に使用しないでくださいと言われたこともあります。今、私はパブリックフィールドが必要な理由をまだ見つけていないことに同意しますが、保護されたフィールドは本当に悪いですか?
値を取得/設定するときに特定の検証チェックが実行されることを確認する必要があるかどうかはわかりますが、多くの場合、私の意見では余分なオーバーヘッドのように見えます。つまり、baseName、prefixName、suffixNameのフィールドを持つクラスGameItemがあるとします。プロパティ()またはアクセサメソッドの作成とパフォーマンスの低下の両方のオーバーヘッドを負担する必要があるのはなぜですか(C#
アプリケーションのすべてのフィールドに対してこれを行うと、特にのような特定の言語PHP
またはパフォーマンスのある特定のアプリケーションはゲームのように重要です)?