朋友問我有沒有可能找到程式中不會被執行到的 code, 有沒有工具可以支援.
基本上這樣的程式碼, 我們稱之為 unreachable code. 你可在這邊找到一些定義.
https://en.wikipedia.org/wiki/Unreachable_code
DZone 也有文章討論
https://dzone.com/articles/you-have-no-excuse-for-your-dead-code
那有沒有工具可以支援呢? 有些 compiler 本身可以幫忙找出一些. 例如: visual studio 對於 unreachable code 會有些 warning.
https://docs.microsoft.com/en-us/visualstudio/ide/reference/remove-unreachable-code?view=vs-2019
Stackoverflow 上也有人在討論
https://stackoverflow.com/questions/1706114/open-source-tool-to-find-unreachable-unused-c-sharp-code
Uber 也有這方面的一些處理經驗
https://www.infoq.com/news/2020/04/uber-piranha-unreachable-code/
不知大家有沒有這樣的經驗? 以及是否有好的工具可以提供?
個人覺得這些 static analysis tool 應該無法抓全部, 以及是否所有找到的都準, 應該是個大問號
Search