Herkes herhangi bir iyi PHP analizi & biliyor mu

3 Cevap php

Şu anda biz ayrı işlevleri için ayrıştırmak isteyen oldukça büyük (4k + loc) fonksiyonu var.

Nispeten kapsüllü yan etkileri vardır nerede Bazıları çürümüş olmuştur ve bu olanlar kolay bit vardır.

Ancak biz şimdi iç içe nastyness arasında ~ 3k loc var. Bazı değişkenler ref ve her türlü harici işlevleri geçirilir.

Yani, devlet değişiklikleri ve belirli bir kod parçasının yan etkilerini belirlemek için izin herhangi bir php üstlenmeden araçları farkında isteyenlerdir (üye olarak saklanabilir değişkenlere yeni referanslar dahil olmak üzere ve daha sonra değiştirilmiş).

Biz şimdiye kadar xdebug ile çağrılan fonksiyonlar adım atarak bu yapıyor ediliyor ama bu son derece yoğun ve çağrı yığınları bazıları oldukça derin olsun.

Hiç kimse olduğu gibi-bunu herhangi kütüphaneleri bilir, herkes sağlam bu uygulama bir şekilde düşünebilirsiniz? Projemizin kapsamı dışında olan xdebug özellikler ekleyerek (Shy: '()

EDIT: Also, I forgot to mention that this is legacy code so there are zero unit tests to verify behaviour.

3 Cevap

Hiçbir şey denemeden önce bazı characterization tests yaz. En azından tarayıcıda gider nihai çıkış test edebilir. PHPUnit test HTML yapıların aracının yanı sıra hali SimpleTest vardır. Buna ek olarak, PHPUnit Selenium entegrasyona sahiptir.

Yerde bu testleri yaptıktan sonra her önemli yeni çekilmiş fonksiyonu / sınıf / metodu kendi ünite testleri olmalıdır.

Benim tavsiye durumunuza bağlı olarak iyi olmayabilir. Bu konuda düşünmek ve en iyi görebiliriz.

Sen sıfır birim testleri vardır devlet. Bu must ilk hedefi olacak.

Orada statik analiz araçları bir liste over here. Ayrıca, rephactor bakmak isteyebilirsiniz.