在过去的三年中,我一直在开发软件,但是最近我才意识到自己对良好实践的无知。这使我开始阅读《清洁代码》一书,这使我的生活变得更好,但我一直在努力了解一些编写程序的最佳方法。
我有一个Python程序,其中...
- 使用argparse
required=True
强制使用两个参数,它们都是文件名。第一个是输入文件名,第二个是输出文件名 - 具有
readFromInputFile
首先检查输入文件名已被输入的功能 - 具有
writeToOutputFile
首先检查查看输入的文件名的功能
我的程序很小,导致我相信#2和#3中的检查是多余的,应将其删除,从而将这两个功能从不必要的if
条件中解放出来。但是,我还被认为“双重检查是可以的”,并且可能是一个程序的正确解决方案,在该程序中可以从不进行参数解析的其他位置调用函数。
(此外,如果读取或写入失败,我try except
在每个函数中都有一个引发相应的错误消息。)
我的问题是:最好避免所有冗余条件检查?程序的逻辑是否应该如此扎实,以至于检查只需进行一次?有没有很好的例子说明这一点或相反的情况?
编辑:谢谢大家的答案!我从每个人那里学到了一些东西。看到如此多的观点使我对如何解决这个问题以及根据我的需求确定解决方案有了更好的理解。谢谢!