关于软件开发的随想,纯属意淫

工作三年有余,抛开基础的编码能力,我的概念中的coder的几个阶段,纯属意淫

第一阶段
只想着开发,拿到需求,迫不及待,从满足眼前的需求都困难,到可以轻松应对开发需求【面向过程】
面对需求变更,几乎每次都需要全盘重写,大量重复代码

第二阶段
开始尝试设计,花更多地时间在设计上,会产出些照猫画虎面向对象的设计,但是味道总是不大对【初级面向对象】
面对大量的需求变更,变得力不从心,伪劣的面向对象设计会减缓应对需求变更的响应速度,代码结构很容易受到破坏,bug增多

第三阶段
吃的亏增多,参考别人的设计,在读了设计模式相关的书后,每每对鄙视自己之前项目中的设计,开始尝试在新项目中使用设计模式的实践
面对需求变更可以比较轻松的应对,但是还是会遇到一些完全没想到的需求变更,代码整体结构还是会受到更改,整体结构的更改会使代码更晦涩,更难以维护,这是难以避免的

第四阶段
视野逐渐开阔,开始接触架构相关的东西,从项目的一个模块跳到上一级,需要考虑全局的数据的流动,考虑性能,扩展和安全
面对需求变更,开始知道拒绝也是解决方式,但是也会从成本的角度和产品斡旋,毕竟有的需求的收益有限

第五阶段
面对需求变更,扩展和修改对代码结构带来的损害,认识到测试的重要性,使用TDD作为开发的基本方式,增加代码的可测试性,提高修改代码信心,降低重构的成本以保护代码结构,从而维持代码的可读性和可维护性,从而达到快速响应需求变更的目标

下一阶段是~?~?~?为什么印象里隐隐约约看到的下一阶段是? 路漫漫~

貌似忽略了最重要的一点。。

沟通,沟通是为了更好的理解需求,没有彻底的理解需求,理解可能的需求变更,所有的设计都是扯淡,只会影响自己的效率和整个项目的工期。

 

posted @ 2014-02-26 15:27  ~嘉言懿行~~我是煲仔饭~~  阅读(353)  评论(0编辑  收藏  举报