Usul kodu, iş mantığı ve PHP sorguları hakkında ne

6 Cevap php

Ben destek ve her bilinen kodlama standarda meydan görünüyor birkaç PHP / MySQL web uygulamaları (I lossely dönem 'app' kullanın) bakımı ile görevli olmuştur.

PHP kodu rutinleri, prosedürleri, iş mantığı ve hatta sorguları içeren - bu tüm kodu bulunuyor. Hiçbir nesne yönelimli programlama, hatta MVC ve kesinlikle uygulama katmanından sunum katmanı ayrılık yoktur. Hiçbir çerçeve ya bu uygulamaları oluşturmak için kullanılan ve yeni projeler için Yii Framework kullanıyorum.

Zaman alıcı olsa da ben bu uygulamaları yeniden gerekir? En az yarısı benim hafta yeni çalışmalarında bu mevcut uygulamalar ile çalışmak zorunda olan, bunları tespit güncellemeler yapıyor içerir.

Herkes bu konuda herhangi bir tavsiye var mı?

6 Cevap

Sürü sorulan bir yaş eski bir soru.

When do you refactor code?

How do you refactor?

How do you stop yourself from refactoring working but awful code?

Temelde, dont çalışma eğer 'kırmak. Bunu çalışmak ve onu kırmadan kodunu temizlemek için değişiklik yapabilirsiniz o zaman bunu. Kodu yeniden? Ben, bu alacağını ne kadar zaman yatırımın geri dönüş, neler, fikri ile gitmek istiyorum yenilerini tanıtan olmadan eski sürümü hata atlatabilirsiniz. Böyle şeyler.

İyi proje ile şans, ve bu yardımcı olur umarım.

Ben bir all-out yazımının karşı dikkatli olacaktır. Uygulama çalışıyor ve kullanıcıya sahip ise, yol ileri varolan kod tabanını değiştirmek için.

Evet, var olan bir çerçeve daha az kod temeli bir çerçeve içine uygulayabilirsiniz. Bu çaba alır, ama (ben bu birkaç kez yaptık) mümkündür. Üzerinde başlayarak siz değerli zaman kaybetmenize neden olacaktır. Bu tekrar kanıtlanmış zaman ve oldu (Netscape hatırlıyor musun?)

Belli ki bir sorun olduğunu bilmek ve çözüm çerçeveleri uygulayarak uygulamaları geliştirmek ve bunları temizlemek için olduğunu bilecek kadar zekisin. Bu oyunda öne koyar.

Aşamada yeni çerçeveler uygulamak. MVC framework ile başlayın - kod temeli içine almak, ancak katmanları hiçbir ayrılık henüz olmadığı gerçeği hakkında üzülmek yok. MVC çatısını üstüne inşa edilmiştir ama gerçekten MVC kuralları itaat edilmez dışında yeni bir sürümünü edinin. Bu bir başlangıç. Sonra bir sonraki adım - modeli tabakası içine iş mantığını taşıyın. Ya da belki de olduğu gibi bırakabilir, ancak OO bunu yapmak.

Iş kullanıcıların kullanabileceği bir ürün üretmek için olduğunu unutmayın. İşiniz iyi uygulamalara bağlı değildir. Anlamı - Evet, en iyi uygulamaları eylem doğru ders ARE. Kullanıcıların uygulamayı kullanamazsınız veya app rekabet ile rekabet edemez Ama eğer onlar bodur önemi yok. Bu göz ardı etmeyin. Eğer büyük bir ürün haline dönebilir, ama mükemmellik iyi düşman izin vermeyin böylece uygulama geliştirmeye çalışıyoruz.

Benim deneyimleri, bu tipik bir iş kararı olmuştur. Patronların bu sistemlerin tasarlanmasını harcamak ne kadar zaman biliyor musunuz? Kaç kullanıcılar aslında bu sistemleri kullanmak? Onlar iş nasıl kritik? Bir yeniden yazma yönetim satabilirsiniz ve bu yararlı ve faydalı olacaktır kanıtlayabilirim?

Size gün için günlük bakım zaten bazı temel üstlenmeden başlayabilirsiniz. Eğer biraz daha fazla zaman alabilir bile, güncellemeler yapmak bazı tür bir OOP çözüm bulmak için bir yol bulmak, ya da daha kolay işlemek için yapmak var kodunu temizlemek için ihtiyaç duyarsan. All-out yeniden yazılmasının genellikle iyi bir fikir değildir ve bir sabit satmak, ama zaten sürdürmek ve yeni işlevler ekleyerek eğer, zaten orada ne geliştirmek için yeni kodu veya düzeltmeleri kullanamazsınız hiçbir neden yok.

Ürünlerin uzun bir süre sürecek? Diğer kullanıcıların kodunu görmek ve bunu yaptığını düşünecek? Bu evet ise, o zaman siz de kodu yeniden olabilir. Deneyin ve şirket bazı destek almak ve onlara faydalarını bildirmek ve belki hatta bunun için fark alırsınız.

Sunum katmanı ve bussiness katmanı arasında hiçbir ayrım olması açıkça kötü iken, diğer seçenekleri ile bazı yararları vardır. Bu kodu korumak için bir ağrı ise, gitmek, sadece kod refactor. Eğer iyi bir tasarım desenleri ile aşina olduğundan, bunu oldukça kolay mümkün olmalıdır. Ayrıca, bu da size kod hataları azaltmaya yardımcı olacaktır. Ama kod üstlenmeden ederken onlar iyi olsun önce, işler kötüye olsun unutmayın. Yani, çok yakında pes etmeyin.

Ben, bu uygulamalar üzerinde kullanıcı yükü ne kadar bağlıdır onlar gerçekten canlı senaryolarda parçalanmak yoktur ve ne kadar zaman bu garnitür ve tüm günlük harcıyorsun öneririm.

Onun her zaman tamamen dağınık bir şey üzerinde mola kafa daha yeniden yazmak daha.