我不是一个Django专业人员,我砍了很多Django,因为我没有使用Django模型(除了基本的中间件,例如会话和用户配置文件)。除此之外,我根本不使用Django数据库模型。 所以我的经验真的不一样。
从我的角度来看,这真的取决于你的团队的工作习惯。我并不在乎它是敏捷开发还是直接的一天黑客攻击。
我想说出一些规格。你需要知道你想提供什么样的模型和服务,对吗?
一旦你准备好了最初的规范,你就可以开始编码了。我认为最简单的(对我来说)是编写一些模型,然后编写一些视图,并编写与我正在使用的模板相对应的模板。实际上,为了开始,我必须编写一些基本模板文件和一个显示所有必要组件的虚拟视图,以便我的基本htmls能够在浏览器上正确显示。
但之后,我先写模型,因为它通常是最难处理的。关系(模型和模型类)之间的关系并不是最直观的事情。
当我想我准备好了某些东西时,我通过浏览来测试我的代码。我还没有编写测试代码。我写他们直到我觉得我有足够的测试。
说真的。这是一种习惯。
在这一点上我不能做测试驱动,因为它需要太多的时间。
我应该改写它。根据我的项目环境和我的经验,我通常会等到再有几次观看之后再继续。这就是我。有些人对每一次试图添加/修改都做了测试。这是一种习惯。在过去,我会花很多时间重写相同的功能,以使它看起来很漂亮。但是,由于时间的限制,如果我确信自己的功能有效(没有错别字等),我会在写入更多观点后再编写测试。
如果你问我测试科学计算程序,很容易做测试驱动。我对使用Django进行测试(模拟,Django unittest)还很新,所以对我来说很难。
只要你和你的团队感觉良好,按照你的感觉是对的。随着时间的推移,你将会改进开发。
只要确保你总是写测试,并尽可能地记录你的代码。
不要过分关注the right development approach
。有熟练的开发人员讨厌测试驱动开发。你的规格会一直改变。有一天,我写了10个视图和10个表单,第二天我必须销毁它们,因为我需要以REST风格编写我的url。我的观点参数必须改变。
在http://programmers.stackexchange.com上,这个问题可能会更合适,并且会得到更好的答案,因为它更多地是关于流程而不是编程。 – agf 2012-04-25 04:13:15
FWIW,我是转换到测试驱动方法(TDD),并且我在Django中编写了一个关于TDD的教程:http://www.tdd-django-tutorial.com/ – hwjp 2012-04-28 12:17:42