Programcılar olarak hedefimizin verilen alan modeli ve işletme mantığı hakkında iyi soyutlamalar sağlamak olduğunu düşünüyorum. Fakat bu soyutlama nerede durmalı? Soyutlama ile tüm faydaları (esneklik, değişme kolaylığı vb.) Arasındaki değiş tokuşu nasıl yapıp, kodu ve tüm faydalarını anlama kolaylığı .
Aşırı soyutlanmış kod yazma eğiliminde olduğuma inanıyorum ve bunun ne kadar iyi olduğunu bilmiyorum; Genellikle iki bölümden oluşan bir tür mikro-çerçeve gibi yazma eğilimindeyim:
- Mikro çerçeveye bağlı olan Mikro Modüller: Bu modüllerin anlaşılması, geliştirilmesi ve tek bir ünite olarak bakımı kolaydır. Bu kod, temelde, gereksinimlerde açıklanan işlevsel unsurları gerçekten yapan kodu temsil eder.
- Bağlantı kodu; şimdi burada sorun olduğuna inanıyorum. Bu kod karmaşık olma eğilimindedir, çünkü bazen çok soyutlanır ve başlangıçta anlaşılması zordur; bu, sadece saf soyutlama olduğu gerçeğinden, gerçeğin temelini ve iş mantığını sunulan kodda gerçekleştirilen 1; Bu nedenle, test edildikten sonra bu kodun değiştirilmesi beklenmemektedir.
Programlamada bu iyi bir yaklaşım mıdır? Değişen kodun birçok modülde çok parçalanmış ve anlaşılması çok kolay ve değişmeyen kodun soyutlama POV'sinden çok karmaşık olması. Tüm kodlar tekdüze olarak karmaşık olmalı mı (kod 1 daha karmaşık ve birbirine bağlı ve kod 2 daha basit), bu nedenle, onu inceleyen herhangi birinin makul bir süre içinde anlayabilmesi için ancak değişimin pahalı olması veya yukarıda sunulan çözümün iyi olması durumunda "kod değiştirme" anlaşılması, hata ayıklanması, değiştirilmesi ve "kod kodunun bağlanması" çok zor.
Not: Bu kod okunabilirliği ile ilgili değil! 1 ve 2'deki her iki kod da okunabilir, ancak 2'deki kod daha karmaşık soyutlamalarla gelirken, kod 1 basit soyutlamalarla gelir.