Koda Katkıda Bulunma

Nette Framework'e katkıda bulunmayı planlıyor ve kurallarla yöntemleri öğrenmeniz mi gerekiyor? Bu başlangıç kılavuzu sizi, koda etkili biçimde katkıda bulunma, depolarla çalışma ve değişiklikleri gerçekleştirme adımlarında yönlendirecek.

Yöntem

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

Ortamı ve Depoyu Hazırlama

  1. GitHub'da bir fork oluşturun; yani değiştirmeyi düşündüğünüz paket deposunun bir kopyasını kendi hesabınıza alın
  2. Bu depoyu bilgisayarınıza klonlayın
  3. Nette Tester dahil bağımlılıkları composer install komutuyla kurun
  4. composer tester çalıştırarak testlerin çalıştığını doğrulayın
  5. En son yayımlanan sürümü temel alan bir Yeni Dal oluşturun

Kendi Değişikliklerinizi Gerçekleştirme

Artık kendi kod düzenlemelerinizi yapabilirsiniz:

  1. İstediğiniz değişiklikleri gerçekleştirin ve testleri unutmayın
  2. composer tester ile testlerin başarıyla çalıştığından emin olun
  3. Kodun Kodlama Standartları kurallarını karşılayıp karşılamadığını denetleyin
  4. Değişiklikleri şu biçimde bir açıklamayla kaydedin (commit)

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

Değişiklikleri Sunma

Değişikliklerden memnun olduğunuzda onları sunabilirsiniz:

  1. Değişiklikleri GitHub'da kendi fork'unuza gönderin (push)
  2. Oradan bir pull request (PR) oluşturarak Nette deposuna sunun
  3. Açıklamada yeterli bilgi verin

Geri Bildirimi Uygulama

Commit'leriniz artık başkalarınca görülebilir. Öneriler içeren yorumlar almak olağandır:

  1. Önerilen değişiklikleri izleyin
  2. Onları yeni commit'ler olarak uygulayın ya da öncekilerle birleştirin
  3. Commit'leri yeniden GitHub'a gönderin; onlar pull request'te otomatik görünecek

Var olan bir pull request'i değiştirmek için asla yeni bir pull request oluşturmayın.

Belgeler

Bir işlevselliği değiştirdiyseniz ya da yenisini eklediyseniz, onu belgelere de eklemeyi unutmayın.

Yeni Dal

Mümkünse değişiklikleri en son yayımlanan sürüme, yani daldaki son etikete karşı yapın. v3.2.1 etiketi için şu komutla 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. Kodunuzu denetlemek ve otomatik düzeltmek için, kurulum ve kullanım yönergelerini de bulacağınız Nette Coding Standard aracını kullanın.

Commit Açıklaması

Nette'de commit konuları şu biçimdedir: Presenter: fixed AJAX detection [Closes #69]

  • Alan, ardından iki nokta üst üste
  • Commit'in amacı geçmiş zamanda; mümkünse şu sözcüklerle başlayın: “added (yeni özellik)”, “fixed (düzeltme)”, “refactored (davranış değişmeden kod değişikliği)”, “changed”, “removed”
  • Commit geriye dönük uyumluluğu bozuyorsa “BC break” ekleyin
  • Varsa issue tracker'a bağlantı, örneğin (#123) ya da [Closes #69]
  • Konudan sonra bir boş satır ve ardından, örneğin foruma bağlantılar da içeren daha ayrıntılı bir açıklama olabilir

Pull Request Açıklaması

Bir pull request oluştururken GitHub arayüzü size bir başlık ve açıklama girme olanağı verir. Özlü bir başlık verin ve açıklamada değişikliğinizin nedenleri hakkında olabildiğince çok bilgi ekleyin.

Ayrıca başlıkta bunun yeni bir özellik mi yoksa bir hata düzeltmesi mi olduğunu ve geriye dönük uyumluluk sorunlarına (BC break) yol açıp açmayacağını belirtin. İlgili bir issue varsa, pull request onaylandığında kapanması 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 -->