Apakah Anda akan mencoba meyakinkan klien Anda bahwa menggunakan pemrograman berorientasi objek jauh lebih bersih?
Saya pikir Anda perlu mendidik diri sendiri lebih banyak tentang paradigma pemrograman. Kode terprogram Berorientasi Objek belum tentu lebih bersih, dan pada kenyataannya, itu tidak berlaku secara universal. Juga, seorang programmer berorientasi objek yang baik tahu bagaimana melakukan pekerjaan dengan baik menggunakan prosedural / modular (Dengan paradigma Fungsional dan Deklaratif, ini sedikit lebih sulit, tetapi seharusnya tidak terlalu sulit bagi programmer yang baik untuk datang - melalui membaca dan deduksi - untuk solusi FP / Deklaratif yang dapat diterima.)
Anda hampir tidak pernah bisa, saya ulangi, Anda hampir tidak bisa memiliki pemahaman yang baik tentang kapan dan bagaimana menggunakan Orientasi Objek tanpa memiliki pemahaman yang baik tentang pemrograman prosedural dan modular. OO jauh lebih dari sekadar mendeklarasikan kelas dan hierarki warisan.
Atau akankah Anda mencoba mengikuti apa yang dia butuhkan dan memberinya kode jelek?
Jika Anda tidak dapat menulis kode yang baik secara prosedural, saya ragu Anda dapat menulis kode yang baik dengan cara yang berorientasi objek. Periode. Saya tidak mencoba menghakimi di sini, tetapi ini harus ditegaskan.
Orientasi Objek adalah perpanjangan dari pemrograman prosedural dan modular. Object-Orientation hanya memberi Anda alat yang, ketika digunakan dengan tepat, memberi Anda mekanisme yang lebih baik untuk menangani enkapsulasi, penggabungan, kohesi, dan masalah penggunaan ulang / ekstensibilitas kode.
Tetapi semua masalah itu tidak melekat dan unik untuk OO. Mereka ada dalam kode prosedural / modular (dan dalam paradigma lain dalam hal ini.) Ini adalah jenis masalah kompleksitas yang, pada intinya, adalah paradigma-independen. Jika Anda tidak bisa menanganinya tanpa lem OO, maka kecil kemungkinan Anda bisa mengatasinya.
=========
Kembali ke pertanyaan awal Anda, apakah akan mencoba membujuk klien Anda. Tergantung. Seperti yang dikatakan poster Sean McMillan, jika klien hanya mencoba mengelola usaha pengembangan mikro untuk beberapa agenda (baca, politik kantor), menjauhlah. Orang yang melakukan itu menyabot proyek untuk menyalahkan orang lain, atau mendorong agenda tertentu. Anda tidak ingin terlibat dalam hal itu.
OTH, mungkin ada alasan lain untuk persyaratan seperti itu. Banyak toko tertanam, baik benar atau salah, memilih untuk menempatkan banyak kendala pada apa yang dapat Anda lakukan dengan C ++ (misalnya, tidak ada metode virtual, tanpa pengecualian,). Beberapa kali ini dilakukan dengan cara menyentak lutut. Terkadang, ada alasan teknis yang sah untuk melakukannya.
Jadi, Anda perlu memahami mengapa klien ingin menghindari kode OO. Dan jika Anda dapat menduga bahwa tidak ada agenda politik (tidak ada bendera merah), maka Anda harus melakukan hal yang profesional untuk dilakukan, yang hanya melakukan kode secara prosedural / modular, dan melakukan pekerjaan dengan baik.
Sebenarnya tidak ada alasan untuk memberikan kode jelek, terlepas dari paradigma pemrograman. Jika Anda tidak dapat menghasilkan kode yang dapat diterima dengan satu paradigma, Anda tentu saja tidak dapat menghasilkan kode yang dapat diterima secara umum.