对于我目前的工作,我正在编写一些长时间运行(想几个小时到几天)的脚本来完成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,但问题是相对语言不可知的,假设一个现代的面向对象的语言功能。