今天偶然看了之前买的一本书.关于设计模式和敏捷开发的.
以前一直没看懂,就算懂了,也一知半解吧。看来基础比较重要哦。不过事物的发展不能停留,时间不可能让你把基础都吃透了,才去接受其他高级的思想.正如学以致用和边走边爱一样。
万物总是相互相承.基础不好,也谈不上学什么模式,学了模式,再看基础,更加理解和深入.
所以我的观点是,看了觉得有所领悟,就不用担心,看就是.
记得之前做JAVA毕业设计,组长把文档资料设计得非常精细。什么需求分析,数据库,字段,方法等.整整一个星期,就是搞文档资料。虽然最后项目的准时交了.而已效果还可以.可是回想过程。项目开发过程中,很少有人具体看文档了。还有不少功能由于时间关系,没实现而扼杀了的.一但工作了.功能或者要求没完全实现,就是有缺陷或者是未完成哦。
这里涉及到敏捷思维的一个定律,直到逼切需要并且意义重大时,才编制文档。
言归正传,其实2001年有人已经提出了敏捷开发宣言。具体如下:
人和交互 重于 过程和工具
可以工作的软件 重于 面面俱到的文档
客户合作 重于 合作谈判
随时应对变化 重于 遵循计划
虽然右则也很有价值,不过左侧更加重要。
其实有了这种编程思想,那些原则,设计模式才可灵活运用。我们平时写程序,只是跟着代码走,可以说写到哪算哪,或者是设计分析需求不透彻,到了遇到问题才改需求。都不是合理的方式。
像什么SRP,OCP,LSP,DIP,ISP原则,什么工厂模式,代理模式等等。编程过程中,是否都要用上,或者都适合用呢?不然,一切都得从用户需求,用例分析开始。学了模式,原则而硬去拼装入代码,倒不如不用。所以没理解透而去用,写得累,看的也累。
对于前面几点的看法,文档,真的不重要么?想必日后到了企业工作,必要的文档是需要的,更甚者,大型点的公司会有文档分析员。不过这可以看成项目过程的一个抽象,抽离出来的,写了东西就为了留档和为了公司以后开发同样项目可以重用,其实对当前项目没有影响和没关联的。下个相关项目,可以作为参考和资料的重用。所以这里也体现了开放-封闭原则。
所以对于当前项目开发人员,没必要把时间都花在文档方面,文档精简而抽象,比面面俱到要重要得多,跟深一步,就是:可以工作的软件,比文档更有意义。例如考虑到用silverlight写动画,用Jquery做页面方面的特效。甚至用上mvc框架搭建项目。.net和JAVA虽然很多编程思想类似,不过.net更加是一个可视化的窗口,虽然很多高手喜欢java式写后台代码的编程,我不是高手,所以还没那境界,喜欢2者的结合(控件+代码)。无论哪种模式,适合自己就好。
所以用好一个软件,用到熟练,用的精通,比文档要重要了。
好了。下午要去上.net的课程。闪了。