我最近接手了一个很久以前的python项目,它有一些我无法确定的奇怪的代码样式。例如:
# this is a params and value package?
opts={
infile="xxx",
outfile="xxx"
}
def parses():
    with open(opts['infile'], 'r') as f:
         #do something here and get a parased_object
         opts['infile2']=parased_object
    return
def fun1(): 
    # do someting here
    opts['fun1']=fun1_object
    return
def fun_xx():
    input_for_funcxx=opts['xx']
    #do someting here
    opts['fun_xx']=fun1_object
    return
parses()
fun1()
fun_xx()我是一个刚接手这么大的python项目的菜鸟,我不清楚这样的编程方式是否可以接受,我需要让我的老板重构它吗?有什么简单的方法可以说清楚吗?
发布于 2022-12-21 07:29:32
opts显然是全局变量的包装器,代码似乎是用过程式编写的,每个函数的所有输入和输出都是通过全局变量编写的。
当遇到这种风格时,这里的重构应该和其他任何编程语言一样:
注意,这可能只是一个开始。您可能需要应用更多的标准重构技术,如福勒的“重构”书籍和羽毛的“与遗产代码的有效工作”书。还可以看看我们在这个网站上的一个古老但永恒的问题:我继承了200行意大利面代码--现在呢?。
祝好运!
TLDR;不,没有简单的方法。但是也有一些标准的方法,这些方法和以往一样需要艰苦的工作。
https://softwareengineering.stackexchange.com/questions/442951
复制相似问题