İpucu # 0) mevcut kod gerçekten gerçekten gerçekten kötü mü, yoksa sadece kişisel tercihlerinize uygun değil mi? O eski ise, bu listeyi okumaya devam. Bu ikincisi ise, birkaç derin nefes alın, ve bunu yeniden yapmak gerektiğine karar önce şeyleri tanımak için en az bir ya da iki ay harcamak.
Eğer kodlama konum zaman doğru olmayan bir şey görürseniz İpucu # 1), bunu düzeltmek. Bu uzun sürer, ancak sistemin daha 'sabit' alır gibi sonunda size verimlilik artışı verecektir. Eğer gerçekten bunu düzeltmek için zamanımız yoksa, kendinize bir iyilik yapın ve bu gibi bir yorum eklemek: Eğer zamanınız varsa zaman x Daha sonra, basitçe kodunuzu aramak bu yüzden Rejig şey: / / TODO "TODO:" için Yapmanız gereken şeyler bir listesini almak. Siz de onlara "TODO-High", "TODO-Orta", "TODO-Low" gibi düzeyleri verebilir. Eğer editör / IDE olarak Eclipse Eclipse veya Zend Studio kullanıyorsanız, otomatik olarak bulmak için ayarlayabilirsiniz & yapabilirsiniz Tercihler-> Görevler sizin için bayrak bu.
İpucu # 2) MVC (sonunda) geçiş için umut varsa yapmak önemli bir şey mantığı HTML ayırmaktır. Bu şablonları kullanarak anlamına gelir. Bu görev uzun zaman alabilir, ama bu kez bitti, sizin geçiş kalanı çok daha kolay olacaktır.
Tip #3) Try to establish conventions.
Example: Controller & View names must correspond to the URL, and live in directories corresponding to the URL.
URL To Edit Place 1234: /places/edit/1234
Controller File: /htdocs/sitename/controllers/placesController.php
Template File: /htdocs/sitename/views/places/edit.tpl
Zend, CakePHP, CodeIgniter / Kohana, Symfony: İpucu # 4) büyük çerçeveler için öğreticiler 'ile başlarken' okuyun. Biri sizin için başka daha iyi göründüğünü görmek. Hoşuna neden kendinize sorun. Sizin için çalışacak, ya da kendi çerçevesi (şüpheli) rulo gerekiyor. Eğer mümkünse, mevcut bir çerçeve kullanın. Zaten bug-test yüzlerce veya binlerce kişi tarafından olmuştur ve size tasarruf edeceğiz zamanı! Ben Zend Framework kendimi seviyorum, ve bunu almak ya da bir defada tek parça bırakın, çünkü bu, senin gibi "geçiş projeleri" için özellikle iyi. Yani, SADECE zerdüştlerin Görünüm nesne kullanmak, veya SADECE bu DBTable obje kullanmayı tercih olabilir. İstediğiniz kadar bunun kadar dışarı bırakmak için ücretsizdir. Bu, yavaş yavaş kendi hızda bir Zend-Dünyası'na geçiş anlamına gelir. EZ-Bileşenleri aynı şekilde çalışır.
Tip #5) Wrap classes that you use by extending them. For example, I use Zend_Acl, but actually use my own Acl class which extends Zend_Acl. This has two key implications:
a) I can swap Zend_Acl for something else without changing my code, because it all refers to plain old 'Acl'
b) I can modify how Zend_Acl works to suit my specific needs, because I can override whatever methods I like in my 'Acl' class.
İpucu # 6) buy-in yönetimi almak için deneyin. Bu üstlenmeden aslında tutarlılık artacak, çünkü onlara para kazandıracak & olacak onlara açıklayın kusurların sayısını düşürür yardımcı olur ve onları daha kolay ve bulmak için yapar kodu, anlaşılabilirliği düzeltmek.
Martin Fowler: İpucu # 7), "Mevcut Kanunu'nun Tasarım Geliştirilmesi Refactoring" gibi, konuyla ilgili kitaplar okumaya çalışın