Koda Katkıda Bulunma

Nette Framework'e katkıda bulunmayı planlıyor ve kural ve prosedürlere aşina olmanız mı gerekiyor? Bu başlangıç kılavuzu, koda etkili bir şekilde katkıda bulunma, depolarla çalışma ve değişiklikleri uygulama adımlarında size yol gösterecektir.

Prosedür

Koda katkıda bulunmak için GitHub 'da bir hesabınızın olması ve Git sürüm kontrol sistemiyle çalışmanın temellerine aşina olmanız gerekir. Git'e aşina değilseniz, git – the simple guide 'a göz atabilir ve birçok grafik istemciden birini kullanmayı düşünebilirsiniz.

Ortamın ve Deponun Hazırlanması

  1. GitHub'da, değiştirmeyi düşündüğünüz paket deposunun bir çatalını oluşturun
  2. Bu depoyu bilgisayarınıza klonlayın
  3. composer install komutunu kullanarak Nette Tester dahil olmak üzere bağımlılıkları yükleyin
  4. Çalıştırarak testlerin çalıştığını doğrulayın composer tester
  5. Yayınlanan en son sürüme göre yeni bir dal oluşturun

Kendi Değişikliklerinizin Uygulanması

Artık kendi kod ayarlamalarınızı yapabilirsiniz:

  1. İstenen değişiklikleri uygulayın ve testleri unutmayın
  2. Testlerin başarıyla çalıştığından emin olmak için composer tester
  3. Kodun kodlama standartlarınıkarşılayıp karşılamadığını kontrol edin
  4. Değişiklikleri aşağıdaki biçimdebir açıklama ile kaydedin (işleyin)

Her mantıksal adım için bir tane olmak üzere birden fazla taahhüt oluşturabilirsiniz. Her commit kendi başına anlamlı olmalıdır.

Değişikliklerin Gönderilmesi

Değişikliklerden memnun kaldığınızda, bunları gönderebilirsiniz:

  1. Değişiklikleri GitHub'a çatalınıza gönderin
  2. Oradan, bir pull request (PR) oluşturarak bunları Nette deposuna gönderin
  3. Açıklamada yeterli bilgi sağlayın

Geri Bildirimin Dahil Edilmesi

Taahhütleriniz artık başkaları tarafından görülebilir. Öneriler içeren yorumlar almak yaygındır:

  1. Önerilen değişiklikleri takip edin
  2. Bunları yeni taahhütler olarak dahil edin veya öncekilerle birleştirin
  3. İşlemleri GitHub'a yeniden gönderin; otomatik olarak çekme isteğinde görüneceklerdir

Var olanı değiştirmek için asla yeni bir çekme isteği oluşturmayın.

Dokümantasyon

İşlevselliği değiştirdiyseniz veya yeni bir işlev eklediyseniz, bunu belgelere eklem eyi de unutmayın.

Yeni Şube

Mümkünse, değişiklikleri en son yayınlanan sürüme, yani daldaki son etikete göre yapın. v3.2.1 etiketi için bu komutu kullanarak bir dal oluşturun:

git checkout -b new_branch_name v3.2.1

Kodlama Standartları

Kodunuz Nette Framework'te kullanılan kodlama standardını karşılamalıdır. Kodu kontrol etmek ve düzeltmek için otomatik bir araç mevcuttur. Composer aracılığıyla global olarak istediğiniz bir klasöre yükleyebilirsiniz:

composer create-project nette/coding-standard /path/to/nette-coding-standard

Şimdi aracı terminalde çalıştırabilmelisiniz. İlk komut kontrol eder ve ikincisi geçerli dizindeki src ve tests klasörlerindeki kodu düzeltir:

/path/to/nette-coding-standard/ecs check
/path/to/nette-coding-standard/ecs check --fix

Taahhüt Açıklaması

Nette'de taahhüt konuları aşağıdaki formata sahiptir: Presenter: fixed AJAX detection [Closes #69]

  • alanı ve ardından iki nokta üst üste
  • geçmiş zamanda commit'in amacı; mümkünse aşağıdaki gibi kelimelerle başlayın: added, fixed, refactored, changed, removed
  • eğer taahhüt geriye dönük uyumluluğu bozuyorsa, “BC break” ekleyin
  • sorun izleyiciyle herhangi bir bağlantı, örneğin (#123) veya [Closes #69]
  • konudan sonra bir boş satır ve ardından, örneğin forum bağlantıları da dahil olmak üzere, daha ayrıntılı bir açıklama gelebilir

Çekme Talebi Açıklaması

Bir çekme isteği oluştururken, GitHub arayüzü bir başlık ve açıklama girmenize izin verecektir. Kısa ve öz bir başlık girin ve açıklamada değişikliğinizin nedenleri hakkında mümkün olduğunca fazla bilgi ekleyin.

Ayrıca, başlıkta yeni bir özellik mi yoksa bir hata düzeltmesi mi olduğunu ve geriye dönük uyumluluk sorunlarına (BC break) neden olup olmayacağını belirtin. İlgili bir sorun varsa, çekme isteğinin onaylanması üzerine kapatılması için ona bağlantı verin.

- bug fix / new feature?  <!-- #issue numbers, if any -->
- BC break? yes/no
- doc PR: nette/docs#?    <!-- highly welcome, see https://nette.org/en/writing -->