Sürüm Kontrolü
Bir ekipte çalıştığınız için dağıtılmış bir şeyle uğraşmak sizin yararınıza olacaktır. Adaylarınız Git ve Mercurial. Bu, ekibinizin projeyi bozmadan yerel olarak taahhütte bulunabileceği, ancak yine de çalışmalarını takip edebileceği, ardından bu taahhütleri merkezi sunucuya gönderebileceği anlamına gelir. Aynı zamanda çok daha hızlıdır ve kod revizyonlar yerine değişiklik kümeleri olarak izlendiğinden, birleştirme çakışmaları daha azdır. Hginit kılavuzunu okuyun (yığın taşmasının kurucu ortağı tarafından daha az yazılmış) ve bir DVCS'nin ne olduğu hakkında biraz daha fazla bilgi sahibi olacaksınız. http://hginit.com/
Depoyu dağıtım için rsync veya ftp yerine de kullanmalısınız.
Test Odaklı Geliştirme Test
yaptığınız şeye bağlı olarak çok zaman harcayabilirsiniz. Tamamen atlamanız gerektiğini söylemiyorum, küçük projeler için havai. Bir kütüphane veya uzun vadeli büyük bir proje yazıyorsanız, bunun için testler yazdığınızdan emin olun. Testler bakım aşamasında yardımcı olacaktır. TDD'nin tüm hatalarınızı bulamadığını unutmayın. Kullanıcı deneyimi sorunları, düzen sorunları, performans sorunları vb. Olacaktır.
Hata ayıklama
Xdebug temelde burada tek seçimdir. Netbeans ile iyi bütünleşir. Değişkenleri yazdırmanız gerektiğini düşünüyorsanız, bir günlük dosyası kullanmalısınız. Çerçeveler günlük işlevini kullanın, bu üretimde çok daha güvenlidir.
Planlama / Diyagramlar
İyi bir çerçeve kullanıyorsanız, detaylı diyagramlar yapmanıza gerek yoktur. Basit tutun ve daha kısa serbest bırakma döngülerinde çalışın, fazla plan yapmak kolaydır. Bir projenin gereksinimleri ve spesifikasyonları değişmek zorundadır, bu yüzden tüm zamanınızı onlara harcamak istemem. En ayrıntılı düzeyde kod IS belirtimi olduğunu unutmayın.
Spesifikasyonu ekip üyelerine atayabileceğiniz görevlere ayırmak için hata izleme aracınızı (aşağıya bakın) kullanın. Projeleri belgelemek için merkezi bir araç kullanın, hata izleyicinin muhtemelen bir wiki'si olacaktır.
Şemalarda veritabanı şemaları tasarlamak ve bunları SQL olarak dışa aktarmak için Mysql Workbench gibi bir araç kullanabilirsiniz.
Çerçeveler ve OOP
Bu muhtemelen en önemli kısımdır. Kendinize hızlı geliştirme ve kodların yeniden kullanılmasını destekleyecek popüler bir çerçeve bulun. Bazı insanlar bunu söylememi sevmez, ancak bir çerçeve çalışma şeklinizi dikte etmelidir. Bir geliştiricinin projeyi değiştirebilmesi ve belirli bir sayfanın denetleyicisinin tam olarak nerede olduğunu, şablon değişkenlerinin tam olarak ne olduğunu ve modelin nasıl sorgulanacağını bilmesi için yapı sağlamalıdır. Bazı çerçeveler burada çok fazla esnekliğe izin veriyor ve geliştiricilerin çerçeveyi her zaman aynı şekilde kullanmadığını göreceksiniz. Python felsefesini seviyorum; her şeyi yapmanın bariz bir yolu olmalı. Bu yüzden django ve rayları seviyorum, oldukça fikirliler ve bu başka birinin koduna bakıp ne yaptığını anlayabileceğim anlamına geliyor. Symfony burada en iyi seçenek gibi görünüyor,
Yığın taşmasıyla ilgili şu gibi birçok 'hangi çerçeve' sorusu vardır:
/programming/2648/what-php-framework-would-you-choose-for-a-new-application-and-why
Hata Takip
Ekibinize geliştiriciler için yapılmış iyi bir hata izleyici alın. Basecamp gibi basitleştirilmiş bir şey kullanmayın. Redmine ve Unfuddle, mükemmel hata izleyicilerinin iki örneğidir, ayrıca zamanı izleyebilir ve depolarınızla entegre olabilirler. Ekibiniz bu aracı e-posta veya anlık mesajlaşma yerine sorunlar hakkında iletişim kurmak için kullanmalıdır. Mevcut bir hata ve doküman geçmişi mevcut olduğunda yeni bir geliştiricinin işini kolaylaştırır. Bu makale, iyi bir hata izleyicinin ne yapması gerektiğini ve nedenini tam olarak açıklamaktadır. http://www.joelonsoftware.com/articles/fog0000000029.html