On / uzatmak için çalışmak zorunda, yeni bir web sistemi tanıyalım

4 Cevap php

Ben zaten başkası tarafından inşa edilmiş bir web sitesi üzerinde çalışmaya başlamak için gidiyorum.

Ana betik aldım ve daha sonra kurşun programcı tarafından ayarlandı. Kurşun bıraktı ve ben sadece programcı değilim.

Never met the lead and there are no papers, documentation or comments in the code to help me out, also there are many functions with single letter names. There are also parts of the code that are all compressed in one line (like where there should be 200 lines there is one). There are a few hundred files.

My questions are: Does anyone have any advice on how to understand this system? Has anyone had any similar experiences? Does anyone have a quick way of decompressing the lines?

Bana yardım edin. Bu benim ilk büyük kırılma ve ben gerçekten bu iyi çalışmak istiyorum.

Teşekkürler

EDIT: On regards to the question: - Does anyone have a quick way of decompressing the lines?

Ben sadece notepad + + (yerine genişletilmiş) ve netbeans 5584 1696 hatlarından bir dosyayı değiştirmek için (format seçeneği) kullanılan!

Bu bir loooonnngggg proje olacak

4 Cevap

Kaynağını yeniden biçimlendirme için, bu çevrimiçi oldukça-yazıcı deneyin: http://www.prettyprinter.de/

HTML ve CSS anlamak için Firebug.

PHP kodu anlamak için, bir hata ayıklayıcı bunun adım. (Ben şahsen bir PHP hata ayıklayıcı tavsiye edemez, ama ben Komodo hakkında iyi şeyler duydum.)

Zaten değil varsa, kaynak denetimi içine her şeyi kontrol ederek başlayın, ve çeşitli fonksiyon ve değişkenlerin ne işe gibi, sonra mantıklı şey onları yeniden adlandırın ve değişiklikleri kontrol edin.

Başlamadan önce (Selenium ile örn.) bazı kaba regresyon testleri cobble Eğer o zaman gitmek gibi bir şey kırma değil makul emin olabilirsiniz.

Ah! Acını hissediyorum!

Başlamak için bir kaç şey:

  1. Kaynak denetimi kullanarak değilseniz o set up almak kadar, başka bir şey yapmak değil. Eğer dosyalara uzakta hack olarak, önceki, muhtemelen çalışma sürümlerine dönmek gerekiyor. Kullandığınız kaynak-kontrol sistemi birini kullanmak kadar önemli değildir. Subversion kolay ve yaygın olarak kullanılmaktadır.

  2. Iyi bir PHP sözdizimi vurgulayıcı ve kod klasör ile bir editör alın. Hangisi büyük ölçüde aşağı platformu ve kişisel zevkinize göre; I JEdit ve Notepad++ gibi. Bunlar bir sayfa içinde kod gezinmek yardımcı olur. JEdit klasör etrafında en iyisidir. Notepad + + serin bir özelliği vardır ki bunu aynı dosyada diğer oluşumları vurgular bir kelime vurgulamak, böylece kolayca örneğin görebilirsiniz zaman bir etiket başlar, ya da bir değişken kullanıldığı durumlarda.

  3. Bu uzun satırları dinlenmek arama ve değiştirme ';' ;\n 'ile - en azından kendi başına bir satırda her açıklama alırsınız. Yukarıda belirtilen tatlı-yazıcı aynı artı girinti yapacağız. Ama gidiş ve elle kod girinti aşina almak başlamak için güzel bir yol olduğunu bulmak.

  4. Web sitesinin ana kullanım durumları analiz etmek ve her biri iz. Bir ön-uç adam iseniz ön ucundan başlar ve geri DB için yol çalışması varsa, bu daha kolay olabilir; Eğer bir arka-uç adam eğer, o sayfaları işlemek için nasıl kullanıldığını daha sonra DB ile başlar ve bu görüşmeler ne görmek, ve - her iki şekilde çalışır. Mesela incelemek için Firefox'ta FireBug kullanın formlar alanlar alıp ne isimleri görmek ve onlar sonrası ne sayfa. Bir sonraki ne olacağını görmek için PHP sayfaya bak. Çeşitli yerlerde değişkenlerin değerlerini yazdırmak için bazı echo () ifadeleri kullanın. Son olarak, çatlak DB açın ve şema aşina olsun.

  5. Köpürtün, durulayın tekrarlayın.

İyi şanslar!

Eğer satın alınan orijinal komut dosyası sürümünün bir kopyasını alabilir miyim? O belgelenmiş olduğunu olabilir. Daha sonra yapılmış herhangi bir değişiklik elde etmek için Karşılaştırması Beyond gibi bir karşılaştırma aracı kullanabilirsiniz.

Insanlar kopyalamak değil böylece - fonksiyon isimleri tek tek yazmak iseniz kod aracı çeşit (Zend Encoder? Ben Zend böyle bir araç vardı sanırım) ile kodlanmış olduğundan emin olabilir. O zaman tasarrufu olur, çünkü eğer varsa, bir şifresiz sürümünü bulmak için çalışmalısınız.