【代码大全】精华总结之软件创建的先决条件(4)

1,155 阅读3分钟

1、目的

  • 读书继续 快乐继续

2、准备的重要性

如果你想做一件精美的首饰,那么就得用钻石作原料。如果 你用的是砖头,那你所能得到的最好结果不过是块漂亮的砖头

优秀程序员的一个突出特点是他们采用高质量的过程来创建软件。这种过程在计划的开始、 中间和末尾都强调高质量

3、造成准备不足的原因

  • 准备非常重要,之前在外企(但在国内私企 往往更强调快速迭代)时,我们开发前的准备工作往往占据了开发时间的1/3 左右,将一切不确定的事情都准备好之后再进行开发
1.需求文档(每一部分 都要确认清楚)
2.需求梳理(需要流程图,需要逻辑合理)
3.技术方案实现(大体的技术方案要非常明确,并且项目组的成员都要清晰)
4.细节技术方案实现(实现细节部分 需要明确不能模糊,如果项目成员欠缺,及时列出来帮忙补充)
5.时间评估 需要预留 某些异常的时间
...
  • 自身经验 不足

一些程序员并不作准备工作,因为他们抵制不了立刻开始进行编码工作的渴望。如果你就 是这种程序员,那我对你有两条忠告。第一,阅读一下下一部分工作的内容提示,或许你会从中发现一些你没想到的问题。第二,要注意自己的问题。只要创建过几个大的程序,你就会明 白强调准备工作的必要性。不要忘记自己的经验教训

image.png

第一,你应该平静地拒绝按照错误顺序工作。如果你与老板的关系很正常的话,那么这太 好了。 第二,你可以假装正在编码而事实上没有。把一个旧的程序清单放到桌角上,然后埋头从事你的需求和构想文件编写工作,不管你的老板同不同意。这样你可以把工作做得更快更好。 从你老板的观点来看,这个忽视是一个福音。 第三,你可以用技术项目的开发方式来教育一下老板。这是一个好办法因为这可以增加这世界上开明老板的数量。 最后,你可以另找一份工作。优秀的程序员是非常短缺的。可以找到更好的工作,干吗非 要呆在一个很不开明的程序店里徒损生命呢?

4、需要做什么 ?

image.png

image.png

image.png

image.png

image.png

5、如何问题定义 ?

image.png

image.png

6、如何需求分析 ?

image.png

image.png

7、需求变更心理预期 ?

image.png

8、如何应对需求变更 ?

  • 简单来说 给变更范围 评估时间影响 实行

image.png

image.png

image.png

  • 列出一份 需求 确认表

image.png

image.png

9、结构设计先决条件 ?

  • 模块化 讲究功能独立 且分开 一个模块不依赖其他模块 单独作用

image.png

  • 讲究写的组件或者 方法的扩展性,尽可能考虑更多的情况,或者有个不错的方式 去扩展 image.png

  • 极端情况下 公司资源无法 支持快速迭代和开发,花钱 先买一个版本 也是一个办法 ,但往往 第二期维护时就很困难 往往需要重新写

image.png

  • 开发前期 选择适合的 数据结构

image.png

  • 数据 如何交互的,数据间有什么联系? 关键算法 非常重要

image.png

image.png

  • 错误处理的 考虑

image.png

  • 代码健壮性

image.png

  • 结构设计检查表

image.png

10、选择编程语言 先决条件 ?

  • 使用 熟悉的高级语言 image.png

  • 编程约定

image.png

  • 应花在先决条件上的时间

image.png

image.png

小结

image.png

  • 本节完