2010-03-05 65 views
1

我想開始討論重構技巧的最佳資源,並着眼於前端JavaScript重構。面向JavaScript的重構技巧資源

一位朋友,我尊重的意見暗示了book,儘管它使用了Java中的示例。我明白,面向對象重構的原則應該轉化爲另一種語言。

讓我們來談談通常重構和JS重構的具體方法。

回答

1

查看Martin的Clean Code獲取靈感。這些例子使用Java,但這些想法也應該轉化爲JavaScript。

爲了正確地重構,你需要測試你的代碼,因爲進行適當的測試是它的先決條件。嘗試尋找能夠提供代碼覆蓋率的測試工具,因爲這將非常有價值。

如果你的代碼還沒有經過測試,你可以認爲測試是一種學習方法。你寫測試來證明或反駁你對此的假設。一旦你完成並充分覆蓋它,你應該能夠使用提供的各種模式重構代碼。

正如Ira提到的,有一種檢測克隆的工具可能是有價值的。這絕對是一種看待它的方法。

我認爲經常有正確的觀點是解決方案的一半。如果你能清楚地陳述你的設計,你將會得到更好的結果。儘量不要過度設計它,通過應用你找到的每種可能的模式。 :)

+2

Clean Code在過去的幾個星期裏一直是一個引導性的靈感,至今爲止一直是非常寶貴的。 – jerome 2011-01-06 13:19:23

1

不是專門重構工具,但檢測代碼的頭號氣味的工具:我們的CloneDR自動查找重複的代碼(複製/粘貼/ 編輯),並顯示您的精確位置和每個克隆的合理抽象。你必須手工解決克隆,但知道它們在哪裏,並且已經提供了第一個抽象的抽象,這是一個很大的幫助。

編輯:這是直接重構的Java和JavaScript代碼的資源。 CloneDR適用於他們兩個,使用langauge-precise解析來精確分析克隆。

你可以看到sample clone detection results on Google's Javascript Closure package

+0

這被標記爲垃圾郵件的幾次,但我認爲它已經符合[常見問題](http://stackoverflow.com/faq#promotion)中的指導方針。這個問題有點含糊,但我不明白爲什麼「資源」不能包含工具。 – 2011-01-10 18:16:59