對於我目前的工作,我正在編寫一些長時間運行(想幾個小時到幾天)的腳本來完成CPU密集型數據處理。該程序流程非常簡單 - 它進入到主迴路,完成主循環,節省了輸出和終止:我的程序的基本結構往往是像這樣:長時間運行的數據處理python腳本中的程序結構
<import statements>
<constant declarations>
<misc function declarations>
def main():
for blah in blahs():
<lots of local variables>
<lots of tightly coupled computation>
for something in somethings():
<lots more local variables>
<lots more computation>
<etc., etc.>
<save results>
if __name__ == "__main__":
main()
這得到迅速不可收拾,所以我想要將其重構成更易於管理的東西。我希望在不犧牲執行速度的前提下提高可維護性。
然而,每個代碼的查找依賴於大量的變量,因此將函數的某些部分重構到函數中可能會使參數列表非常快速地失控。我應該把這種類型的代碼放到一個python類中,並將局部變量改爲類變量嗎?從概念上講,將程序轉變爲類是沒有什麼意義的,因爲該類永遠不會被重用,並且每個實例只會創建一個實例。
這種程序的最佳實踐結構是什麼?我正在使用python,但問題是相對語言不可知的,假設一個現代的面向對象的語言功能。