1、被动编程。
就好比对日外包的项目,不是太了解,只是有所耳闻。听说日本公司那面会发过来一份(也许用一批更好一些)很详细的文档,里面的内容就是编写代码的详细的要求,会非常非常的详细,细到一个页面里面放置列表页面显示那些信息,一页多少条记录、表单里面放多少个控件,以及控件的ID、类型、大小、等等信息。
不管对日外包的项目里的文档会不会写得这么细了,毕竟我是没有看到,只是猜想。只是说如果程序说明文档真的写得这么细的话,那么对于具体的编码人员来说就是“被动编程”了。完全是被动的,一点自己思考、自由发挥的余地都没有了!(对于我来说是很郁闷的事情了,在别人的不太宽裕的框框里面是很憋屈的,感觉。net框架的框框还是很宽超的)。对于程序员来说是不是会进步缓慢、限制发挥呢?写了一年、两年,还是那点东东。一点进步都没有。自己的思想也都没有了。没有人给出来说明文档就不会写程序了呢?
优点:文档写好了,基本就不担心实现了。人员变动也不怕,谁来了都是这么写程序,不会担心一个人写的代码另一个人看不懂的情况。
2、主动编程
相对于“被动”来说,就是文档里面只说明要实现的功能,使用的数据库(或者是实体类了什么的,目前还是面向数据库来编程,所以数据库的设计还是要由有经验的几个人来事先确定好)表,还有就是编码的方式、格式、风格、形式(不知道叫什么比较好),剩下的事情就是要根据自己的理解自由发挥了。
这样的话呢就会给程序员一个很大的发挥空间,需要思考更多的问题和情况。
缺点:代码完成的好坏要看编码人员的个人能力、经验和对项目的理解。