我經常覺得在遍歷我的代碼很多次之後,我會留下一些函數或類或其他代碼行,這些代碼在前一版本中是有意義的,但對於新版本來說並不是很有用。我知道一個分析器可以告訴你當你運行你的測試用例時你的代碼被稱爲什麼部分?但是,如何確定代碼的哪一部分永遠不會被調用來刪除它,從而使剩下的更具可讀性?例如,是否有一種快速的方法可以知道代碼中的哪些函數沒有從任何地方被調用,並且可以安全地刪除。對於一個小代碼庫來說,這可能聽起來像一個微不足道的問題,但是當你的代碼基數增長多年時,這成爲一個重要而不是微不足道的問題。從應用程序中刪除死代碼的最佳方法是什麼?
總結這個問題,對於不同的語言,刪除死代碼的最佳方法是什麼?是否有任何lanaguage agnostic解決方案或策略。或者每種語言都提供了識別死代碼的工具。
我們通常使用Java或Python或Objective-C進行編程。
是的,我需要問關於死代碼刪除。我意識到什麼是代碼覆蓋。我如何從我的Python代碼庫中刪除沒有可能執行路徑的代碼,並且無法使用任何數量的測試進行調用。 – DeepThink 2011-04-06 18:01:50
不幸的是,Python環境非常動態,您的任何代碼都可能被調用。感謝'eval()'和反射,可以在運行時調用函數,這些函數在代碼中的任何地方都不會被引用。 – 2011-04-06 18:16:12