オブジェクト指向プログラミングを使用する方がはるかにクリーンであるとクライアントを説得してみませんか?
プログラミングのパラダイムについてもっと教育する必要があると思います。オブジェクト指向のプログラムされたコードは必ずしもきれいではなく、実際、普遍的に適用できるわけではありません。また、優れたオブジェクト指向コーダーは、手続き型/モジュラーを使用して優れた作業を行う方法を知っています-許容可能なFP /宣言型ソリューションへ。)
繰り返しますが、手続き型プログラミングとモジュール式プログラミングを十分に理解していなければ、オブジェクト指向をいつどのように使用するかを十分に理解することはできません。オブジェクト指向は、クラスと継承階層を宣言するだけではありません。
それとも、彼が必要とするものに従い、彼にくだらないコードを与えようとしますか?
手続き型で適切なコードを記述できない場合、オブジェクト指向の方法で適切なコードを記述できるとは思えません。期間。私はここで判断しようとはしていませんが、これは断言する必要があります。
オブジェクト指向は、手続き型およびモジュール型プログラミングの拡張機能です。オブジェクト指向は、適切に使用すると、カプセル化、結合、結合、コードの再利用/拡張性の問題に対処するためのより優れたメカニズムを提供するツールを提供します。
しかし、これらの問題はすべて固有のものではなく、オブジェクト指向に固有のものではありません。それらは手続き型/モジュール型コード(および他のパラダイム)に存在します。これは、本質的にパラダイムに依存しないタイプの複雑さの問題です。オブジェクト指向の接着剤なしでそれらを処理できない場合、それでそれらを処理できる可能性は低いです。
=========
クライアントを説得しようとするかどうかの元の質問に戻ります。場合によります。ポスターのショーン・マクミランが言ったように、クライアントが単にアジェンダ(読み取り、オフィスの政治)の開発努力をマイクロ管理しようとしているなら、立ち去ってください。その妨害活動を行う人々は、他の誰かを非難したり、特定のアジェンダを推進したりします。あなたはそれに関与したくありません。
OTH、そのような要件には他の理由があるかもしれません。多くの組み込みショップは、正しいか間違っているかを問わず、C ++でできること(たとえば、仮想メソッドや例外はありません)に多くの制約を課すことを選択します。他にも、そうするための正当な技術的理由があります。
したがって、クライアントがオブジェクト指向コードを避けたい理由を理解する必要があります。そして、政治的アジェンダ(レッドフラッグ)がないと推測できる場合は、専門的なことを行う必要があります。これは、単に手順/モジュール方式でコードを実行し、それで良い仕事をするだけです。
プログラミングのパラダイムとは無関係に、くだらないコードを提供する言い訳は本当にありません。1つのパラダイムで受け入れ可能なコードを生成できない場合、一般的に受け入れ可能なコードを生成することはできません。