Programlama söz konusu olduğunda, herkes kendi görüşüne sahiptir, ancak en azından yazdığımız kodun kolay anlaşılması, takibi, yeniden yapılandırılması ve üzerinde çalışılması için belirli standartları ve tavsiye edilen uygulama biçimlerini takip etmek için elimizden gelenin en iyisini yapmalıyız. Aşağıdaki liste, takip etme eğiliminde olduğum bazı standartlardan ve uygulama biçimlerinden oluşuyor.


  1. Kesinlikle PSR-2 Coding Style Guide'i takip ederim.

  2. TDD (Test Driven Development) framework olarak PHPUnit ve PHPspec kullanırım

  3. BDD (Behavior Driven Development) framework olarak Behat kullanırım.

  4. Yazdığım kodu Semantic Versioning mantığı ile versiyonlarım.

  5. Methodlar da en fazla 5 parametre kullanırım.

  6. Bir class içinde en fazla 15 method tanımlarım.

  7. Bir method içinde en fazla 25 satır kod yazarım.

  8. İş sorumluluğunu azaltmak için, "public" methodları mümkün olduğunca "private" methodları kullanacak şekilde ayarlarım.

  9. Uygulamalarımda God object yaratmamaya dikkat ederim.

  10. Prensip olarak DRY, SOLID ve Law of Demeter'i uygularım.

  11. Kodu analiz edip PSR gibi kod standart hatalarını bulup düzeltmek için PHP-CS-Fixer veya PHP_CodeSniffer kullanırım.

  12. Kod içerisinde muhtemel kod hatalarını veya kötü kokan kodları bulmak için PHPStan ve PHP Mess Detector kullanırım.

  13. İsminden de anlaşıldığı gibi PHP Copy/Paste Detector kullanırım.

  14. Uygulamanın büyüklüğünün tespiti için phploc kullanırım.

  15. Uygulamalarımda güvenlik sorunu olan composer paketlerinin yüklenmesini önlemek için Roave Security Advisories kullanırım.

  16. Gereksiz şeyleri "bir gün lazım olur" diye uygulamalara eklemem çünkü You aren't gonna need it.

  17. Worse is better'in doğru bir şey olduğunu biliyorum.

  18. Uygulama geliştirirken Agile methodlarını kullanırım.

  19. Her zaman GIT kullanır, git-flow ve branch modelleme tekniğini uygularım.

  20. Kodlarımı her zaman refactorisation işlemine tabi tutarım.

  21. Kodlamaya başlamadan önce ve kodlama sırasında ERD ve UML modelleme tekniklerini kullanmaya özen gösteririm.

  22. Cargo cult programming hiçbir zaman tavsiye etmeyeceğim bir şeydir.

  23. Tüm UI ve UX işi yapan kişilerin Principle of Least Astonishment'i anlamaları gerektiğine inanıyorum.

Bilinmesi gereken ilginç bilgiler