我与一些大学发生了争执,我是否应该在每次代码修改后将语法检查作为一个单独的步骤,或者我最好依靠单元测试来捕捉可能的语法破坏......(当然单元测试会这样做)。
这不是是否对您的代码进行测试的问题(当然可以,但请参见下文)
我的用例非常简单,我是 Python 的新手,并尝试通过修改模型文件来玩一些 Web 应用程序(MVC)。更改非常简单,实际上一次几行左右,但是由于我对 Python 语法非常不熟悉,一些愚蠢的错误(如错误的缩进等)很容易出现。
真正的障碍是我通过谷歌云平台(作为应用引擎)部署了一个应用程序,所以应用程序需要一段时间才能推出新版本,我可以点击一个端点并最终查看它的错误日志以了解发生了什么。所以我想得到一种更短更简单的方法——至少对于这些类型的错误——只是在部署之前运行语法检查。
争议的核心部分是我没有被建议明确地进行语法检查,而是更好地依赖于更高级别的测试(例如单元测试),我所说的是:
1)并且还没有单元测试(即使我有它们,我也会将它们视为测试链中的下一步)。
2)我只编辑一个特定的文件(一个且只有一个),修改最少,而且我所遇到的错误类型(正如我在 Python 中的新手所说)是语法错误,而不是逻辑或语义错误,所以因为我认为我可以安全地进行语法检查,然后进行部署。即使我后来遇到了我的代码的语义/逻辑问题(甚至语法检查通过),这对于高级测试(单元/验收等)来说无疑是一个问题 -但现在我只是在玩用编写的代码一种我不太熟悉的语言。
3)我不会在外面提交我的更改,也不会给任何人带来麻烦。
4)最后一个参数是有争议的,因为它有点范围,但是我想把它留在这里 - 在某些情况下,如果你只需要在单个文件中进行语法检查,即使是轻量级单元测试也可能是矫枉过正的. 考虑这个例子。一个人只是在适当的位置编辑代码,部署在服务器上试图解决即时问题,因此不存在单元或其他测试,并且您希望确保您的修改不会在语法上破坏代码。