将一个巨大的函数重构为一组较小的函数



就干净的代码而言,应该如何重构嵌套了循环、if-else语句和while循环的函数?对于这样的大型功能,什么是理想的、干净的结构?将这样的函数分解为嵌套函数可以接受吗?

def main():
try:
for 
if
for 
while 
for
for
if 
for 
if 
else
if
else
if 
except:
if __name__ == "__main__":
main()

如果确实需要,只在内部循环中嵌套循环,否则避免嵌套它们(出于算法性能原因(。

使用Omri答案建议来识别您正在执行的每个步骤,为每个步骤提供一个明确的名称,并将该步骤提取到其自己的函数中(您调用该函数来执行原始函数中的步骤(。

这与嵌套函数不同,嵌套函数是出于不同的原因而做的。您只是在调用放置在其他地方的辅助函数(而不是嵌套在您的函数中(。

不要将所有内容都包围在try块中,并避免捕获所有空的except:。只围绕可能引起麻烦的特定语句(或少数语句(,并在expect子句中只列出您期望的错误或错误类别。

它主要是基于意见的,取决于代码本身。一个好的经验法则是,每个函数都需要有一个逻辑目的。

相关内容

最新更新