Müşterinizi, nesne yönelimli programlama kullanmanın daha temiz olduğuna ikna etmeye çalışır mısınız?
Kendinizi programlama paradigmaları konusunda daha fazla eğitmeniz gerektiğini düşünüyorum. Nesneye yönelik programlanmış kod mutlaka temizleyici değildir ve aslında evrensel olarak uygulanabilir değildir. Ayrıca, iyi bir nesne yönelimli kodlayıcı bir yordamsal / modüler kullanarak nasıl iyi bir iş yapılacağını bilir (İşlevsel ve Bildirimsel paradigmalarla biraz zor, ancak iyi bir programcının gelmesi çok zor olmamalıdır - okuma ve kesinti ile) - kabul edilebilir bir FP / Beyanname çözümüne.)
Neredeyse asla yapamazsınız, tekrar ediyorum, neredeyse prosedürel ve modüler programlamayı iyi bir şekilde anlamadan Nesne Yönelimini ne zaman ve nasıl kullanacağınızı iyi anlayamazsınız. OO sadece sınıfları ve miras hiyerarşilerini ilan etmekten çok daha fazlasıdır.
Yoksa istediğini takip etmeye çalışıp ona berbat bir kod mu vermeye çalışırsın?
Prosedürel olarak iyi kod yazamazsanız, nesne yönelimli bir şekilde iyi kod yazabileceğinizden şüpheliyim. Dönemi. Burada yargılamaya çalışmıyorum, ama bunun iddia edilmesi gerekiyor.
Nesne Oryantasyonu, prosedürel ve modüler programlamanın bir uzantısıdır. Nesne Yönelimi, uygun bir şekilde kullanıldığında, kapsülleme, birleştirme, uyum ve kod yeniden kullanım / genişletilebilirlik sorunlarını ele almanız için size daha iyi mekanizmalar sağlayan araçlar sunar.
Ancak tüm bu meseleler doğası gereği değildir ve OO'ya özgü değildir. Prosedürel / modüler kodda (ve bu konuda diğer paradigmalarda) varlar. Bu, özünde paradigmadan bağımsız olan karmaşıklık meseleleri türüdür. Onları OO yapıştırıcısı olmadan kaldıramazsanız, onlarla başa çıkmanız pek mümkün değildir.
=========
Müvekkilinizi ikna etmeye çalışacağınız konusundaki asıl sorunuza geri dönün. Değişir. Poster Sean McMillan'ın dediği gibi, müşteri yalnızca bir gündem için (okuma, ofis politikaları) geliştirme çabalarını mikro-yönetmeye çalışıyorsa, uzaklaşın. Bunu yapan insanlar başkasını suçlamak ya da belirli bir gündemi zorlamak için projeler sabote ediyorlar. Buna dahil olmak istemezsin.
OTH, böyle bir gereksinimin başka nedenleri olabilir. Pek çok gömülü mağaza, doğru ya da yanlış olarak, C ++ ile yapabilecekleriniz hakkında çok fazla kısıtlama koymayı tercih ediyor (sanal yöntemler yok, istisnalar yok, örneğin.) Bazı zamanlar diz üstü sarsıntılı bir şekilde yapılır. Diğer bazı zamanlarda, bunu yapmak için geçerli teknik nedenler vardır.
Bu nedenle, müşterinin neden OO kodundan kaçınmak istediğini anlamanız gerekir. Politik bir gündem olmadığını (kırmızı bayraklar olmadığını) tahmin ederseniz, o zaman yapacakları profesyonel bir şey yapmalısınız, bu sadece prosedürel / modüler kodları yerine getirir ve iyi bir iş çıkarır.
Programlama paradigmasından bağımsız olarak, berbat bir kod sunmak için gerçekten hiçbir bahane yoktur. Bir paradigma ile kabul edilebilir kod üretemezseniz, kesinlikle genel olarak kabul edilebilir kod üretemezsiniz.