开发阶段总结
开发的关键点在于学习,学习可以说是在任何行业永恒的话题,学习什么?如何去学习?就编程而言,学习最终是为了应用,首先要学习到这种应用,然后学习其如何应用,再学为何能这样应用,最后学如何建立或者(根据需要)更改这种应用。 假设你想学习一个开源项目,首先要了解该项目应用的工作机制,熟悉其业务逻辑,懂得其业务核心在哪里,业务边界在哪里,什么地方正常使用无问题,什么地方正常使用可能有问题(所谓的‘坑’),什么地方在某种情况下使用必有问题等等。 然后需要了解其组成原理,即是代码组成。在对代码工作目的充分了解的前提下,从代码源头找起(方法调用部分),学会单元测试,对代码相关位置进行功能验证,对其相应功能分别进行深入,慢慢排除模块干扰(一般来说,为了提高项目的可维护性,都会将模块进行划分,以至于相应的功能具体实现被划分模块的代码掩盖),同时学习该模块的建设,积累经验 最后最终的目的自然是要根据需要更改此项目(或者不需要更改,但最好能有更改的能力,一般项目应用范围难以保证一定在业务需求之内),假设前两点都能正常完成,那么我对于该项目的各个功能的应用点、边界问题、架构划分、具体实现应该有了一定的了解,通常情况下,为了降低功能及模块的耦合度,项目功能的具体实现都是边界狭隘的单面功能,一般边界在一个任务的范围内,如果业务需求要求更改相关具体实现,应该从调用者处改起(不能改变单面功能的实现