Katkıda Bulunma
AlgoPit'e katkıda bulunmak için rehber. Bu projeye katkıda bulunarak, algoritma öğrenimine ve açık kaynak topluluğuna destek olabilirsiniz.
Katkı Süreci
Fork the repository
Start by forking the repository to your own GitHub account.
Katkı Rehberleri
Kod Standartları
Kodunuzun proje standartlarına uygun olduğundan emin olun.
Stil Rehberi
- ESLint ve Prettier yapılandırmalarına uygun kod yazın
- Değişkenler ve fonksiyonlar için anlamlı isimler kullanın
- Her fonksiyon ve karmaşık kod bloğu için açıklayıcı yorumlar ekleyin
- Her dosya başına tekli bir sorumluluk ilkesini uygulayın
TypeScript
- Tüm fonksiyonlar ve bileşenler için doğru tipleri kullanın
- Tür genellemesini uygun yerlerde kullanın (örn. jenerik fonksiyonlar)
any
kullanımından kaçının- Açık dönüş tiplerini belirtin
React Bileşenleri
- Bileşenleri mümkün olduğunca küçük ve yeniden kullanılabilir tutun
- Karmaşık durum yönetimi için React Hooks kullanın
- Prop drilling yerine context kullanmayı tercih edin
- Tüm prop'lar için TypeScript arayüzleri oluşturun
Performans
- Gereksiz yeniden render'ları önlemek için memo, useMemo ve useCallback kullanın
- Büyük listeleri görselleştirirken sanal listeler tercih edin
- Yoğun işlemleri web worker'lara taşıyın
Örnek Kod Stili
1// Kötü2function sort(a) {3 // Sıralama işlemi4 return a.sort();5}67// İyi8/**9 * Bir diziyi sıralar10 * @param {Array} array Sıralanacak dizi 11 * @returns {Array} Sıralanmış dizi 12 */13function sortArray(array: T[]): T[] { 14 // Giriş doğrulama15 if (!Array.isArray(array)) {16 throw new Error('Input must be an array');17 }18 19 // Sıralama işlemi (orijinal diziyi değiştirmemek için kopyasını oluşturuyoruz)20 return [...array].sort((a, b) => a - b);21}
Yeni Algoritma Eklemek
Yeni bir algoritma implementasyonu ve görselleştirmesi ekleyin
Hata Raporlamak
Bulduğunuz hataları bildirin ve çözüm önerilerinde bulunun
Dokümantasyon İyileştirmeleri
Belgeleri geliştirin, yeni örnekler ekleyin veya açıklamaları iyileştirin
Topluluk Tartışmaları
Projede aktif rol alın ve tartışmalara katılın
Yardıma mı ihtiyacınız var?
Hala Sorularınız Mı Var?
Katkıda bulunma süreciyle ilgili sorularınız varsa, GitHub üzerinde bir issue açabilir veya doğrudan ekibe e-posta gönderebilirsiniz.