7.1 KiB
Kod Yeniden Düzenleme ve Dokümantasyon Ödevi
Öğrenme Hedefleri
Bu ödevi tamamlayarak, profesyonel geliştiricilerin günlük olarak kullandığı temel yazılım geliştirme becerilerini pratik yapacaksınız. Kodunuzu sürdürülebilirlik için organize etmeyi, soyutlama yoluyla tekrarı azaltmayı ve gelecekteki geliştiriciler (kendiniz dahil) için çalışmanızı belgelemeyi öğreneceksiniz.
Temiz ve iyi belgelenmiş kod, birden fazla geliştiricinin iş birliği yaptığı ve kod tabanlarının zamanla geliştiği gerçek dünya web geliştirme projelerinde çok önemlidir.
Ödevin Genel Bakışı
Bankacılık uygulamanızın app.js dosyası, giriş, kayıt ve kontrol paneli işlevselliği ile önemli ölçüde büyüdü. Kodun okunabilirliğini, sürdürülebilirliğini artırmak ve tekrarı azaltmak için profesyonel geliştirme uygulamalarını kullanarak bu kodu yeniden düzenleme zamanı.
Talimatlar
Mevcut app.js kodunuzu aşağıdaki üç temel yeniden düzenleme tekniğini uygulayarak dönüştürün:
1. Yapılandırma Sabitlerini Çıkarın
Görev: Dosyanızın üst kısmında yeniden kullanılabilir sabitlerle bir yapılandırma bölümü oluşturun.
Uygulama rehberi:
- Sunucu API temel URL'sini (şu anda birden fazla yerde sabit kodlanmış) çıkarın
- Birden fazla işlevde görünen hata mesajları için sabitler oluşturun
- Tekrarlanan rota yolları ve öğe kimliklerini çıkarmayı düşünün
Örnek yapı:
// Configuration constants
const API_BASE_URL = 'http://localhost:5000/api';
const ROUTES = {
LOGIN: '/login',
DASHBOARD: '/dashboard'
};
2. Birleşik İstek Fonksiyonu Oluşturun
Görev: createAccount() ve getAccount() arasındaki tekrarlayan kodu ortadan kaldıran yeniden kullanılabilir bir sendRequest() fonksiyonu oluşturun.
Gereksinimler:
- Hem GET hem de POST isteklerini işleyin
- Uygun hata işleme ekleyin
- Farklı URL uç noktalarını destekleyin
- İsteğe bağlı olarak istek gövdesi verilerini kabul edin
Fonksiyon imza rehberi:
async function sendRequest(endpoint, method = 'GET', data = null) {
// Your implementation here
}
3. Profesyonel Kod Dokümantasyonu Ekleyin
Görev: Kodunuzu, mantığınızın "neden"ini açıklayan açık ve yardımcı yorumlarla belgeleyin.
Dokümantasyon standartları:
- Fonksiyon dokümantasyonu ekleyerek amacını, parametrelerini ve dönüş değerlerini açıklayın
- Karmaşık mantık veya iş kuralları için satır içi yorumlar ekleyin
- İlgili işlevleri bölüm başlıklarıyla gruplandırın
- Belirgin olmayan kod kalıplarını veya tarayıcıya özgü çözümleri açıklayın
Örnek dokümantasyon stili:
/**
* Authenticates user and redirects to dashboard
* @param {Event} event - Form submission event
* @returns {Promise<void>} - Resolves when login process completes
*/
async function login(event) {
// Prevent default form submission to handle with JavaScript
event.preventDefault();
// Your implementation...
}
Başarı Kriterleri
Yeniden düzenlenmiş kodunuz şu profesyonel geliştirme uygulamalarını göstermelidir:
Örnek Uygulama
- ✅ Sabitler: Tüm sihirli dizeler ve URL'ler açıkça adlandırılmış sabitlere çıkarılmıştır
- ✅ DRY Prensibi: Ortak istek mantığı yeniden kullanılabilir bir
sendRequest()fonksiyonunda birleştirilmiştir - ✅ Dokümantasyon: Fonksiyonlar, amaçlarını ve parametrelerini açıklayan açık JSDoc yorumlarına sahiptir
- ✅ Organizasyon: Kod, bölüm başlıkları ve tutarlı formatlama ile mantıksal olarak gruplandırılmıştır
- ✅ Hata İşleme: Yeni istek fonksiyonunu kullanarak geliştirilmiş hata işleme
Yeterli Uygulama
- ✅ Sabitler: Çoğu tekrarlanan değer çıkarılmış, ancak bazı küçük sabit kodlanmış değerler kalmış
- ✅ Faktorizasyon: Temel bir
sendRequest()fonksiyonu oluşturulmuş, ancak tüm uç durumları ele almayabilir - ✅ Yorumlar: Anahtar fonksiyonlar belgelenmiş, ancak bazı açıklamalar daha eksiksiz olabilir
- ✅ Okunabilirlik: Kod genel olarak iyi organize edilmiş, ancak bazı iyileştirme alanları mevcut
Geliştirme Gerekiyor
- ❌ Sabitler: Birçok sihirli dize ve URL dosya boyunca sabit kodlanmış olarak kalmış
- ❌ Tekrar: Benzer işlevler arasında önemli kod tekrarı mevcut
- ❌ Dokümantasyon: Eksik veya yetersiz yorumlar, kodun amacını açıklamıyor
- ❌ Organizasyon: Kod açık bir yapı ve mantıksal gruplamadan yoksun
Yeniden Düzenlenmiş Kodunuzu Test Etme
Yeniden düzenlemeden sonra, bankacılık uygulamanızın hala doğru çalıştığından emin olun:
- Tüm kullanıcı akışlarını test edin: Kayıt, giriş, kontrol paneli görüntüleme ve hata işleme
- API çağrılarını doğrulayın:
sendRequest()fonksiyonunuzun hem hesap oluşturma hem de alma işlemleri için çalıştığından emin olun - Hata senaryolarını kontrol edin: Geçersiz kimlik bilgileri ve ağ hataları ile test yapın
- Konsol çıktısını inceleyin: Yeniden düzenleme sırasında yeni hataların tanıtılmadığından emin olun
Teslimat Yönergeleri
Yeniden düzenlenmiş app.js dosyanızı şu şekilde gönderin:
- Farklı işlevsellikleri organize eden açık bölüm başlıkları
- Tutarlı kod formatlama ve girintileme
- Tüm fonksiyonlar için eksiksiz JSDoc dokümantasyonu
- Yeniden düzenleme yaklaşımınızı açıklayan kısa bir yorum
Bonus Görev: Uygulamanızın mimarisini ve farklı işlevlerin nasıl birlikte çalıştığını açıklayan basit bir kod dokümantasyon dosyası (CODE_STRUCTURE.md) oluşturun.
Gerçek Dünya Bağlantısı
Bu ödev, profesyonel geliştiricilerin düzenli olarak gerçekleştirdiği türde kod bakımını yansıtmaktadır. Endüstri ortamlarında:
- Kod incelemeleri, bu ödevde olduğu gibi okunabilirlik ve sürdürülebilirliği değerlendirir
- Teknik borç, kod düzenli olarak yeniden düzenlenip belgelenmediğinde birikir
- Ekip iş birliği, yeni ekip üyelerinin anlayabileceği açık ve iyi belgelenmiş koda bağlıdır
- Hata düzeltmeleri, uygun soyutlamalarla iyi organize edilmiş kod tabanlarında çok daha kolaydır
Burada pratik yaptığınız beceriler - sabitleri çıkarmak, tekrarı ortadan kaldırmak ve açık belgeler yazmak - profesyonel yazılım geliştirme için temel niteliklerdir.
Feragatname:
Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul etmiyoruz.