第一次听说方法论Methodology,赶紧去查了查:
程序开发方法论是指软件开发的一整套方法、过程、规则、实践、技术;但我们通常都偏重于项目、过程和人员的管理。
一、项目管理的方法论
1.重型方法
规定了大量的中间文档artifact和复杂的过程管理,会要求开发人员频繁地递交各种报告,主张流程和效果。常应用于大型项目。
2.轻型方法
即敏捷软件开发,以程序员为主,加强与客户沟通等等,相对宽松,主张程序员的创造力。
个人认为,重型方法中,程序员是工人,分工明确,只需要完成自己的那部分的技能就好;轻型方法中,程序员是工程师,对你的发挥有着更高的期待。管理方法变量太多,因人而异。
二、指导编程的方法论
1.测试驱动开发
程序开发明确需要的功能,提前设计好,以需要测试的功能为主,程序尽量保持可运行,可调试的状态。夸张的说是一步一测。
2.重构
我们有两顶帽子:一顶是不改变功能的前提下,改善现有现有程序的设计;另一顶是增加新的功能,以适应需求变化。我们在任意阶段,应该只戴一顶帽子,绝对不能同时戴两顶帽子。将这变动分解成尽可能小的步骤,并让改进代码和新增功能的小步骤交替进行。在代码写好之后改进它的设计。
我之前开发是在测试驱动开发的方法下,总是错错改改去实现其设计,感觉很郁闷。并不是此方法不好,不同的人有不同的喜好。
以上仅为个人意见,随意批评指正