簡體   English   中英

在MATLAB中重構

[英]Refactoring in MATLAB

我完成了一項徒勞無功的任務,包括我前任所寫的一些程序。 一堆亂糟糟的無組織代碼。

到目前為止,我只知道自動識別(Ci)。 所以我想知道你是否可以推薦一些工具。

我遇到的一些關鍵問題:

  • 通過整個文件激發對相同結構的分配
  • 這是一個很大的代碼文件 - 我想拆分它
  • 相當多的代碼產生了從未使用過的結果

更新漂亮的部分我發現Emacs的Matlab模式可以打破過長的線條非常合理。

增量重構是前進的方向。

  • 選擇一個看似合理自包含的m文件,並找出它應該做的事情。
  • 為m文件創建測試。 這可以簡單到從文件加載一些數據,用該數據作為參數調用函數,並檢查結果是否與原始輸出匹配(顯然,在進行任何更改之前,測試應該通過!)
  • 開始對文件進行更改。 經常進行測試以確保它仍然通過。 如果它沒有通過,那么你已經破壞了一些東西 - 撤消你最后一組更改(你正在使用版本控制,對吧?)然后再試一次。
  • 重復直到完成,始終從最少依賴的函數開始到最依賴的函數。

不幸的是,沒有靈丹妙葯。 您可以依賴Matlab linter,它會告訴您何時從未分配或使用變量,或者何時從未調用過函數,但除此之外,您需要一次整理一段代碼,然后對其進行測試走。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM