Hangi PHP için takip kongre Kodlama?

9 Cevap php

PHP kodu için Sun'ın Java kod sözleşmeler ile sopa gerekir?

9 Cevap

PHP için, ben takip öneririm Zends suggestions

Bildiğiniz gibi, Zend is the most widely used framework!

Sen Framework Interop Group tarafından onaylanan PHP için PSR standartlardan birini takip edilmelidir

  • PSR-0 - Standart dosya, sınıf ve ad kongre sağlamak Amacı ..
  • PSR-1 - paylaşımlı PHP kodu arasındaki teknik birlikte yüksek düzeyde sağlamak için Amacı.
  • PSR-2 - kendi kod standardize isteyen projeler için bir kodlama Stil Rehberi sağlar.

Zend Framework ve PEAR standartları oldukça fazla en yaygın kodlama sözleşmeler. Şirketiniz başka birini kabul ederse, olsa şirketinizin kongre sopa. Hiç kongre olması daha iyi. Herkes onlara yapışır ve eğer sadece çalışır.

Ayrıca bakınız:

Temelde, büyük çerçeveler her yerde onların belgelerinde bir kodlama kongre var. Resmi (ama çoğunlukla bilinmeyen IMO) PHP Kodlama Kuralları bulunabilir

Bir kodlama kongre karşı kodu doğrulamak için gerekiyorsa, CodeSniffer kullanmayı düşünebilirsiniz. Bazı IDE de şablonlar tarafından otomatik Sourcecode biçimlendirmeyi sunuyoruz. Örneğin Zend Studio yerleşik ZF kodlama kuralları vardır, bu yüzden bu kongre kodunu biçimlendirmek için sadece bir tıklama yeterli.

Güncelleme: insanlar da PSR-2 günümüzde kullanın

Sen bir dizi seçenek var:

Zend: http://framework.zend.com/manual/en/coding-standard.html

Armut: http://pear.php.net/manual/en/standards.php

Wordpress: http://codex.wordpress.org/WordPress_Coding_Standards

Prakash anlaşılacağı gibi ama, Zend iyi bir seçimdir.

Eğer bir iş varsa iş kodu uylaşımını.

Bu kişisel bir proje için ise (eğer Java daha Java yaparsanız, PHP daha Php yaparsanız) belirli bir dil şartname alabilirsiniz. Bu kişisel bir proje varsa eğer arzu birkaç şeyi değiştirebilirsiniz ...

Eğer açık kaynak projesi yaparsanız, zaten yerde neler olduğunu görmek gitmek gerekir.

Herhangi bir kodlama tarzı artıları ve eksileri vardır. Ben bu yüzden bazen (farklı adlandırma kuralları, sekmeler boşluklar vs vs, yerleştirme parantezi), tek bir gün içinde birçok farklı stilleri görerek sonunda entegrasyonları yapıyor birçok kaynaktan gelen kodu ile çalışan çok fazla zaman harcamak

Bildiğim kadarıyla bana kalırsa - varolan kodla çalışıyorsanız en önemli şey düzenlediğiniz kodu stil takip etmektir. Bunu yapmazsanız size sonra aşağıdaki herkes için sert şeyler yapmak.

Eğer bunu size en verimli kılan bir şekilde yapmak özgürlüğüne sahip olmalıdır daha yeni bir kod yazıyorsanız.

Ben şirket kodlama kurallar genellikle çok detaylı vardır ve bir kaç yıl ve yazılım ekibi içinde yayık biraz sonra unutulmuş olmanın sonuna kadar olduğunu bulmak ;-)

Orada çok farklı kodlama gelenekler vardır. Diğer insanların kullanmak ne bir göz (bazı örnek kod okumak ve yapılıyor anlamak için ne kadar kolay olduğunu görmek) var ve istediğini al.

Önemli bir parçası birini seçmek ve ona sadık olmaktır.

Gordon dediği gibi, Zend ve PEAR standartları etkili endüstri standardı vardır.

Ancak, şirketin kodu oldukça olasılıkla öncesi tarihler bu yüzden kod tabanının büyüklüğüne bağlı olarak bu birine hamle yapmak için zaman yatırım küçük bir değer olabilir. (Hiç statik kod analiz araçlarını kullanmak istiyorsanız O dedi, muhtemelen ciddi, vb Zend hareket düşünün bir ivme olarak kullanabilirsiniz)

Ancak, sürece onlar mantıklı bir standart var burada hiçbir gerçek bir sorun var onlar sopa, gerçekçi olmak - Eğer edeceğiz buna göre kod "bakın" nasıl ayarlayarak kendinizi bulabilirsiniz.

Kodlama stilleri gruplar arasında değişir ve bunun bir boyutu şey her türlü uyar değildir. En önemli şey, sürekli takip ediyor, bir standart olan ve denize gitmiyor. Çok fazla kurallar yeterli gibi kötü olamaz.

Ben K & R tarzı (ikinci bir) tercih etmek için kullanılır. Allman stili (sizin tercihiniz) ayarlamak zorunda sonra ben kodu daha okunabilir yapar hissediyorum biliyorum ve benim tercihi değişti.

Bu Wikipedia makale başlamak için iyi bir yerdir: http://en.wikipedia.org/wiki/Programming_style

(Aynı zamanda diğerleri arasında, PEAR Kodlama Standartlarına bir bağlantı içerir.)