博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于软件开发的随想,纯属意淫
阅读量:6585 次
发布时间:2019-06-24

本文共 774 字,大约阅读时间需要 2 分钟。

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

第一阶段

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

第二阶段

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

第三阶段

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

第四阶段

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

第五阶段

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

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

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

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

 

转载于:https://www.cnblogs.com/igloo1986/p/3569387.html

你可能感兴趣的文章
poj 1155
查看>>
JS-cookie封装
查看>>
浏览器插件 - Chrome 对 UserScript 的声明头(metadata)兼容性一览
查看>>
基本数据类型的包装类和随机数
查看>>
nginxs主配置文件
查看>>
2019.2.14 t2 程序调试
查看>>
【模板】杜教筛(Sum)
查看>>
零开始:NetCore项目权限管理系统:登录授权
查看>>
protobuf
查看>>
循环次数( M - 暴力求解、打表)
查看>>
网络对抗技术_作业一_201421420013
查看>>
js实现复制文字到剪切板
查看>>
JS日期相关代码
查看>>
【转】numpy中 meshgrid 和 mgrid 的区别和使用
查看>>
爬虫开发过程 - 采集器设计
查看>>
Wordpress搭建
查看>>
数据查询基础
查看>>
算法的基本概念
查看>>
针式打印列内内容自动换行解决方案
查看>>
Memcahed分布式缓存服务替换Session解决方案——简单介绍[转]
查看>>