我從怪異的JavaScript項目中發現了自己。我還沒有看到任何已知的設計模式和代碼文件的引用包含5000多行凌亂的代碼。該功能的通常長度約爲100行。命名空間也很麻煩。任何想法如何得到這個項目的任何意義?重構怪物JavaScript項目
我一直在嘗試閱讀源代碼,但沒有任何評論。也沒有測試,所以做出改變是運氣的問題。
放棄項目不是一種選擇。
有什麼好的幫助工具嗎?目前我正在使用Chrome升級版&。
我從怪異的JavaScript項目中發現了自己。我還沒有看到任何已知的設計模式和代碼文件的引用包含5000多行凌亂的代碼。該功能的通常長度約爲100行。命名空間也很麻煩。任何想法如何得到這個項目的任何意義?重構怪物JavaScript項目
我一直在嘗試閱讀源代碼,但沒有任何評論。也沒有測試,所以做出改變是運氣的問題。
放棄項目不是一種選擇。
有什麼好的幫助工具嗎?目前我正在使用Chrome升級版&。
如果你有規範,你可以編寫測試,然後安全地重構。你的測試會告訴你,如果你破壞任何東西。
另一方面,如果您沒有規格,您可以通過生成一堆隨機值並記錄相關結果來編寫測試。用你當前的代碼,你知道(根據定義)他們是正確的。
我在會議上看到了關於重構醜陋遺留代碼的後一種方法。演講者生成大量隨機值/結果對,將它們轉換爲單元測試,並開始超快地重構。結果是相當驚人的,你肯定知道在這個過程中沒有任何事情發生。
當然,如果你的應用程序比「給我一個輸入,我會告訴你輸出」風格更復雜,這更棘手。但也許它會讓你開始!
這聽起來很不錯。我沒有規格和執行線在這裏和那裏反彈。有一些框架混合在一起,以及一些功能,所以這將是一個有趣的挑戰。 –
是否有任何工具根據它們的執行路徑來映射源代碼。我的意思是一些工具,它讓我看到一些代碼是如何通過代碼傳播的。我知道調試器,但它使用起來很慢。 –
使用調試器進行檢查。 –