2009-06-29 18 views
4

我將開始在其他人已經構建的網站上工作。開始學習一個新的網絡系統,您必須在其上工作/擴展

主要腳本是由主程序員購買並調整的。領導已離開,我是唯一的程序員。

從未見過領頭羊,代碼中沒有任何文件,文檔或評論可以幫助我,還有許多單字母名稱的功能。也有部分代碼全部壓縮在一行中(比如應該有200行的地方有一行)。 有幾百個文件。

我的問題是: 有沒有人對如何理解這個系統有什麼建議? 有沒有人有類似的經歷? 有沒有人有解壓線的快速方法?

請幫我看看這裏。這是我的第一次重大突破,我真的希望這樣做能夠很好地發揮作用。

感謝

編輯: 在關於這個問題: - 有沒有人有解壓線的快捷方式?

我只是使用記事本++(擴展替換)和netbeans(格式選項)將文件從1696行更改爲5584!

這將是一個loooonnngggg項目

+1

也許主要開發者因爲不想處理這個而退出...... – jimiyash 2009-06-30 01:06:08

+1

這可能是真的,但它並不重要。 對我來說重要的是能夠掌握這個野獸,做得很好:) – AntonioCS 2009-06-30 14:13:28

回答

8

重新格式化源,試試這個在線美化打印機:http://www.prettyprinter.de/

對於瞭解HTML和CSS,使用Firebug

要了解PHP代碼,請在調試器中對其進行介紹。 (我個人不推薦PHP調試器,但我已經聽到了關於Komodo的好東西。)

首先檢查整個事情到源代碼控制中,如果你還沒有,然後當你計算出什麼時候各種功能和變量都會將其重命名爲合理的內容並檢查您的更改。

如果你可以在開始之前湊齊一些粗略的迴歸測試(例如使用Selenium),那麼你可以合理地確定你沒有違規。

+4

...祝你好運! +1 – alex 2009-06-29 23:01:18

+0

Eclipse也有一個相當不錯的調試器。我也用過xdebug。 – jimiyash 2009-06-30 01:01:47

6

哎唷!我感到你的痛苦!

有幾件事情開始:

  1. 如果你不使用源代碼控制,直到你得到設立不做別的。當你破解這些文件時,你需要能夠恢復到之前推測的工作版本。你使用哪個源碼控制系統並不像使用源碼控制系統那麼重要。 Subversion很容易和廣泛使用。

  2. 使用一個好的PHP語法高亮器和代碼文件夾獲取編輯器。哪一個很大程度上取決於平臺和個人品味;我喜歡JEditNotepad++。這些將幫助您瀏覽頁面中的代碼。 JEdi​​t的文件夾是最好的。記事本++有一個很酷的功能,當你突出顯示一個單詞時,它突出顯示了同一個文件中的其他事件,所以你可以很容易地看到例如標籤開始的地方,或使用變量的地方。

  3. 通過搜索替換';'和';\n'來解開這些長行 - 至少你會得到它自己的每條語句。上面提到的漂亮打印機將會執行相同的縮進操作。但是我發現進入並手動縮進代碼是開始熟悉它的一個好方法。

  4. 分析網站的主要用例並追蹤每個用例。如果你是前端人員,如果你從前端開始並回到數據庫,這可能會更容易;如果你是一個後端人員,從數據庫開始,看看與之對話的內容,以及如何使用它來呈現頁面 - 無論哪種方式都有效。在Firefox中使用FireBug檢查例如表單來查看這些字段的名稱以及他們發佈的頁面。看看PHP頁面,看看接下來會發生什麼。使用一些echo()語句在各個位置輸出變量的值。最後,打開數據庫並熟悉其模式。

  5. 泡沫,沖洗,重複。

祝你好運!

1

你能得到原始腳本版本的副本嗎?這可能是有記錄的。然後,您可以使用Beyond Compare之類的比較工具來提取所做的任何修改。

0

如果函數名稱只有一個字母,可能是代碼是用某種工具編碼的(我認爲Zend有一個類似Zend Encoder的工具),這樣人們就無法複製它。你應該嘗試找到一個未編碼的版本,如果有的話,那會節省很多時間。