关于软件开发的随想,纯属意淫
工作三年有余,抛开基础的编码能力,我的概念中的coder的几个阶段,纯属意淫
第一阶段
只想着开发,拿到需求,迫不及待,从满足眼前的需求都困难,到可以轻松应对开发需求【面向过程】
面对需求变更,几乎每次都需要全盘重写,大量重复代码
第二阶段
开始尝试设计,花更多地时间在设计上,会产出些照猫画虎面向对象的设计,但是味道总是不大对【初级面向对象】
面对大量的需求变更,变得力不从心,伪劣的面向对象设计会减缓应对需求变更的响应速度,代码结构很容易受到破坏,bug增多
第三阶段
吃的亏增多,参考别人的设计,在读了设计模式相关的书后,每每对鄙视自己之前项目中的设计,开始尝试在新项目中使用设计模式的实践
面对需求变更可以比较轻松的应对,但是还是会遇到一些完全没想到的需求变更,代码整体结构还是会受到更改,整体结构的更改会使代码更晦涩,更难以维护,这是难以避免的
第四阶段
视野逐渐开阔,开始接触架构相关的东西,从项目的一个模块跳到上一级,需要考虑全局的数据的流动,考虑性能,扩展和安全
面对需求变更,开始知道拒绝也是解决方式,但是也会从成本的角度和产品斡旋,毕竟有的需求的收益有限
第五阶段
面对需求变更,扩展和修改对代码结构带来的损害,认识到测试的重要性,使用TDD作为开发的基本方式,增加代码的可测试性,提高修改代码信心,降低重构的成本以保护代码结构,从而维持代码的可读性和可维护性,从而达到快速响应需求变更的目标
下一阶段是~?~?~?为什么印象里隐隐约约看到的下一阶段是? 路漫漫~
貌似忽略了最重要的一点。。
沟通,沟通是为了更好的理解需求,没有彻底的理解需求,理解可能的需求变更,所有的设计都是扯淡,只会影响自己的效率和整个项目的工期。
转载于:https://www.cnblogs.com/igloo1986/p/3569387.html
关于软件开发的随想,纯属意淫相关推荐
- 软件开发基于JavaScript实现快速转换文本语言(繁体中文和简体中文)_javascript技巧
软件开发基于JavaScript实现快速转换文本语言(繁体中文和简体中文)_javascript技巧 一般商业网站都有一个语言的需求,就是为了照顾使用正体中文的国人,会特地提供一个切换到正体中文的选项 ...
- 软件开发基于JavaScript实现快速转换文本语言
软件开发基于JavaScript实现快速转换文本语言 一般商业网站都有一个语言的需求,就是为了照顾使用正体中文的国人,会特地提供一个切换到正体中文的选项(或曰"繁体中文").传统做 ...
- 银行软件开发实习生_如何找到学生的软件开发人员实习生
银行软件开发实习生 by Grazietta Hof 由Grazietta Hof 如何找到学生的软件开发人员实习生 (How to find a Software Developer Interns ...
- 困扰程序员的30种软件开发问题,你是否时曾相识?
来自:程序师 链接: https://www.techug.com/post/30-programmer-meet-problems.html 开发应用程序是一项压力很大的工作,人无完人,工作中遇到各 ...
- Ubuntu16.04 ROS 深度学习_传智播客 智能机器人软件开发 学习路线图出炉!首发优惠!!...
黑马程序员 微信号:heiniu526 传智播客旗下互联网资讯,学习资源免费分享平台 智能机器人软件工程师学习计划 很多朋友对机器人软件开发和人工智能感兴趣,不知道怎么学习,传智播客武汉校区在今年3月 ...
- 停止对互联网的意淫吧,它不过是个信息技术啊
纳斯达克一声棒响,给中国带来了打不尽的互联网鸡血,躁动的中小企业睁大血红血红的双眼,撕咬着互联网产业的鸡腿."大众创业,万众创新"的口号下,亿万劳动人民更如鱼群般扑向一张硕大无朋的 ...
- 【软件开发底层知识修炼】二十八 C/C++中volatile的作用
上一篇文章学习了C/C++中的指针与数组的区别,点击链接进行查看:[软件开发底层知识修炼]二十七 C/C++中的指针与数组是不同的 本篇文章将学习volatile关键字在C/C++中的作用 文章目录 ...
- 【软件开发底层知识修炼】十四 快速学习GDB调试一 入门使用
前面几篇文章学习了链接器相关的内容.现在开始来学习GDB调试.我们的目的是通过这几篇文章将GDB调试完全学会. 文章目录 1 为什么需要GDB 2 GDB 的常规应用 3 GDB调试程序实例 4 总结 ...
- 通过造车来了解软件开发模式
看到 好的 东西, 老是忍不住收藏一下,谢谢作者:伯乐在线 - 艾凌风 的文章, 若有不妥,请留言. 1913 年,美利坚工业之神--亨利福特,发明了世界上第一条流水线,汽车工业从此进入了大规模生产的 ...
最新文章
- linux下发布的执行文件崩溃的问题定位 心得一则
- 硬盘盘符双击无法打开,只能右键打开(解决方法)(转载)
- 您遵循过这些Jenkins优秀实践吗?
- BGP no-advertise
- Android—监听器
- 对前端来说token代表了什么_在线公开课 | 前端工程师如何突破瓶颈更好地变现自己...
- python线下培训-济南Python线下培训班哪个好
- 图片适应窗口_在word中插入图片,如何避免失真模糊?实用文档建议收藏
- Spring_01_IoC初级总结
- 微服务精华问答 | 为什么需要微服务?
- import java.util_importjava.util.*;classKeyMaster{publi..._考试资料网
- 使用Pushlet将消息从服务器端推送到客户端
- mybatis的mapper.java_mybatis笔记之使用Mapper接口注解
- 一起谈.NET技术,ASP.NET 中JSON 的序列化和反序列化
- 《SolidWorks 2013中文版完全自学手册》——2.5 添加几何关系
- 计算面平均边_家装门窗订单常用的门窗尺寸测量和计算方法
- [转载] 用python统计中文字符数_使用Python统计字符串中各种字符的个数
- FTT字体绘制,2D阶段
- 华为云计算HCNA--存储虚拟化
- 小米路由php,小米路由器Pro 刷机 OpenWrt