Grafikteki "10 İyi Kodlama Prensibi" şu şekilde açıklanmaktadır:
Güvenlik Güvencesi (Security Assurance)
- SQL enjeksiyonu, cross-site scripting (XSS) ve veri sızıntısı gibi güvenlik açıklarını önlemek için güvenlik standartlarına uyulmalıdır.
Kod Spesifikasyonu (Code Specification)
- Standardizasyon, kodun tutarlılığını ve okunabilirliğini artırır.
- Örneğin, PEP 8 - Python Kod Spesifikasyonu ve Google Java Stili - Java Kod Spesifikasyonu gibi spesifikasyonlar kullanılır.
Belgeler ve Açıklamalar (Documents and Annotations)
- Karmaşık mantık ve karar verme süreçlerini açıklamak için kullanılmalıdır.
- Belirli bir yaklaşımın neden seçildiğini açıklar.
- Açık, öz ve sürekli güncellenen belgeler olmalıdır.
Dayanıklılık (Robustness)
- Disk arızaları, giriş hataları, ağ aşırı yüklenmesi ve kasıtlı saldırılar gibi sorunlara karşı sistemin dayanıklılığı artırılmalıdır.
SOLID Prensipleri
- Tek Sorumluluk Prensibi (Single Responsibility Principle)
- Liskov Yerine Geçme Prensibi (Liskov Substitution Principle)
- Açık/Kapalı Prensibi (Open/Closed Principle)
- Arayüz Ayrım Prensibi (Interface Segregation Principle)
- Bağımlılıkların Tersine Çevrilmesi Prensibi (Dependency Inversion Principle)
Test Edilebilirlik (Easy to Test)
- Düşük karmaşıklık, otomatik testler, düşük maliyet ve yüksek hız sağlanmalıdır.
Orta Seviye Soyutlama (Moderate Abstraction)
- Düşük seviye kod, karmaşık ve bakımı zor olabilir.
- Yüksek seviye kod, basitlik, ölçeklenebilirlik ve bakım kolaylığı sağlar.
Tasarım Desenleri (Design Patterns)
- Creational (Oluşturucu), Structural (Yapısal) ve Behavioral (Davranışsal) olmak üzere çeşitli tasarım desenleri kullanılır.
- Singleton, Factory, Adapter, Proxy ve Strategy gibi desenler örnektir.
Global Bağımlılıkları Azaltmak (Reduce Global Dependencies)
- Global bağımlılıkları azaltarak kodun yerelleştirilmiş ve modüler olmasını sağlar.
Sürekli Refaktoring (Continuous Refactoring)
- Mevcut kodu iyileştirme sürecidir.
- Kodun kalitesini artırmak için düzenli olarak refaktoring yapılmalıdır.
Bu prensipler, yazılım geliştirme sürecinde kodun kalitesini ve sürdürülebilirliğini artırmak için önemli kurallar olarak kabul edilir.
Tags
Yazılım Mühendisliği