zoukankan      html  css  js  c++  java
  • 关于软件开发的随想,纯属意淫

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    基于redis实现滑动窗口式的短信发送接口限流
    Linux 宝塔下的PHP如何与本地的nginx关联
    Linux 下php安装gd库
    Linux Mysql8重置密码
    PHP 无限分级类
    redis 缓存穿透,缓存雪崩,缓存击穿
    yii2 事务添加
    ConcurrentHashMap
    Volatile
    this引用的逸出
  • 原文地址:https://www.cnblogs.com/igloo1986/p/3569387.html
Copyright © 2011-2022 走看看