BaslerCamera projesine katkıda bulunmak için teşekkürler! Bu rehber, projeye nasıl katkıda bulunabileceğinizi açıklar.
- Mevcut hataları düzeltme
- Performans iyileştirmeleri
- Kod optimizasyonları
- Yeni kamera parametreleri
- UI/UX iyileştirmeleri
- Yeni kamera modeli desteği
- README güncellemeleri
- API dokümantasyonu
- Kod yorumları
- Unit testler
- Integration testler
- Manuel test senaryoları
- Visual Studio 2019/2022 veya Visual Studio Code
- .NET Framework 4.8
- Basler Pylon SDK
- Git
-
Repository'yi fork edin
-
Fork'u klonlayın:
git clone https://github.com/YOUR_USERNAME/BaslerCamera.git cd BaslerCamera -
Upstream remote'u ekleyin:
git remote add upstream https://github.com/alknbugra/BaslerCamera.git
-
Projeyi Visual Studio'da açın:
start BaslerCameraConfiguration/BaslerCameraConfiguration.sln
-
Feature branch oluşturun:
git checkout -b feature/your-feature-name
-
Değişikliklerinizi yapın
-
Test edin:
# Build test msbuild BaslerCameraConfiguration/BaslerCameraConfiguration.sln /p:Configuration=Release # Uygulamayı çalıştırın ve test edin
-
Commit edin:
git add . git commit -m "feat: add new camera parameter support"
-
Push edin:
git push origin feature/your-feature-name
-
Pull Request oluşturun
- PascalCase - Sınıf, metod ve özellik isimleri
- camelCase - Değişken ve parametre isimleri
- UPPER_CASE - Sabitler
// ✅ Doğru
public class CameraSettings
{
private const int MAX_EXPOSURE_TIME = 1000000;
private string cameraModel;
public string CameraModel
{
get => cameraModel;
set => cameraModel = value;
}
public void SetExposureTime(int value)
{
// Implementation
}
}
// ❌ Yanlış
public class camera_settings
{
private const int max_exposure_time = 1000000;
private string CameraModel;
public void set_exposure_time(int Value)
{
// Implementation
}
}Tüm public metodlar ve özellikler için XML dokümantasyon ekleyin:
/// <summary>
/// Kameranın pozlama süresini ayarlar.
/// </summary>
/// <param name="value">Pozlama süresi (mikrosaniye)</param>
/// <exception cref="ArgumentException">Geçersiz değer verildiğinde</exception>
public void SetExposureTime(int value)
{
// Implementation
}- Namespace kullanımı - Tüm sınıflar uygun namespace'lerde
- Using direktifleri - Gereksiz using'leri kaldırın
- Region kullanımı - Büyük sınıflarda region'lar kullanın
using System;
using System.Collections.Generic;
using Basler.Pylon;
namespace BaslerCameraConfiguration.Classes
{
public class CameraController
{
#region Private Fields
private Camera camera;
private bool isConnected;
#endregion
#region Public Properties
public bool IsConnected => isConnected;
#endregion
#region Public Methods
public void Connect()
{
// Implementation
}
#endregion
}
}-
Açıklayıcı başlık yazın:
feat: add support for new camera parameters fix: resolve connection timeout issue docs: update API documentation -
Detaylı açıklama ekleyin:
## Değişiklikler - Yeni kamera parametreleri eklendi - UI güncellemeleri yapıldı - Hata düzeltmeleri ## Test Edilen Durumlar - [x] Kamera bağlantısı test edildi - [x] Yeni parametreler çalışıyor - [x] UI güncellemeleri doğru ## Ekran Görüntüleri [Varsa ekran görüntüleri ekleyin]
-
Checklist'i tamamlayın:
- Kod standartlarına uygun
- Test edildi
- Dokümantasyon güncellendi
- Breaking change yok
- Otomatik kontroller - CI/CD pipeline çalışacak
- Code review - Maintainer'lar kodu inceleyecek
- Geri bildirim - Gerekirse değişiklik istenecek
- Merge - Onaylandıktan sonra merge edilecek
- Issue oluşturun - GitHub Issues sekmesinden
- Açıklayıcı başlık yazın
- Detaylı açıklama ekleyin:
## Hata Açıklaması
Kamera bağlantısı kurulurken timeout hatası alınıyor.
## Adımlar
1. Uygulamayı başlat
2. Kamera bağlantısını dene
3. Hata mesajı görüntülenir
## Beklenen Davranış
Kamera başarıyla bağlanmalı.
## Gerçek Davranış
"Connection timeout" hatası alınıyor.
## Ortam
- Windows 10
- .NET Framework 4.8
- Basler A2A2448-75ucBAS
## Ek Bilgiler
Hata logları ve ekran görüntüleri ekleyin.- Issue oluşturun - "Feature Request" label'ı ile
- Açıklayıcı başlık yazın
- Detaylı açıklama ekleyin:
## Özellik Açıklaması
Yeni kamera parametresi desteği isteniyor.
## Kullanım Senaryosu
Kullanıcılar daha fazla kamera parametresini kontrol etmek istiyor.
## Önerilen Çözüm
Yeni parametre kontrolleri eklenebilir.
## Alternatif Çözümler
Mevcut parametreler genişletilebilir.
## Ek Bilgiler
Örnekler ve referanslar ekleyin.- Kod standartlarına uygun
- Test edilmiş
- Dokümantasyon güncellenmiş
- Hata yönetimi mevcut
- Performans göz önünde bulundurulmuş
- Kod standartlarına uymayan
- Test edilmemiş
- Dokümantasyon eksik
- Hata yönetimi yok
- Performans sorunları
- GitHub Issues - Hata bildirimi ve özellik istekleri
- GitHub Discussions - Genel tartışmalar
- Email - alknbugra@gmail.com
Bu projeye katkıda bulunarak, katkılarınızın MIT lisansı altında lisanslanacağını kabul etmiş olursunuz.
Teşekkürler! BaslerCamera projesine katkıda bulunduğunuz için minnettarız! 🙏