Güçlü bir Java / Groovy geçmişim var ve bir yönetim yazılımı için oldukça büyük bir C kodu tabanı tutan bir ekibe atandım.
Veritabanındaki blob ile uğraşmak veya PDF ve Excel'de raporlar oluşturmak gibi bazı acı noktaları java web hizmetine dışsallaştırılmıştır.
Ancak, bir Java dev olarak, kodun bazı yönleri ile biraz kafam karıştı:
- ayrıntılı (özellikle 'istisna' ile uğraşırken)
- çok büyük yöntemler var (birçok 2000+ satır yöntemi)
- Gelişmiş veri yapıları yoktur (Liste, Set ve Harita'yı çok özlüyorum)
- endişe ayrımı yok (SQL tüm kod etrafında sevinçle karıştırılır)
Sonuç olarak, işin tonlarca teknik kodda gizlendiğini ve Nesneye Yönelik ve bir tutam Fonksiyonel programlama ile şekillendirilmiş beynimin rahat olmadığını hissediyorum.
Projenin iyi tarafı, kodun düz olmasıdır: çerçeve yok, çalışma zamanında bayt kodu manipülasyonu yok, AOP yok. Ve sunucu aynı anda java "merhaba dünya" tükürmek için gerekenden daha az bellek kullanarak tek bir makine ile 10000 + kullanıcılara cevap verebilir.
Yaygın olarak kabul gören modern ilkelere göre C kodunun nasıl yazılacağını öğrenmek istiyorum. Modern C'nin nasıl yazılması ve yapılandırılması gerektiği konusunda yaygın kabul gören ilkeler var mı?
'Etkili Java' kitabının eşdeğeri gibi bir şey, ancak C için.
Cevaplar ve yorumlar ışığında düzenleyin:
- Zihniyetimi C koduna uyarlamaya çalışacağım ve OOP'ye yansıtmaya çalışmayacağım.
- Yorumdan önerilen kodlama stili kılavuzlarını taramaya başladım (GNU Kodlama Standartları ve Linux Çekirdek Kodlama Stili).
- Daha sonra bu kod stilini iş arkadaşlarıma önereceğim. İşin en zor yanı, iş arkadaşlarını büyük yöntemin daha küçük parçalara bölünebileceğine ve aynı 4 satır hata işleme kodunu tekrarlamanın bir yöntem yardımıyla önlenebileceğine ikna etmek olabilir.