美文网首页
第一部分 概述——第一章 设计与架构究竟是什么

第一部分 概述——第一章 设计与架构究竟是什么

作者: 游标卡尺玩蛇 | 来源:发表于2019-12-27 22:31 被阅读0次

闲聊

半年前,购入了《架构》一书,当时一口气看了三分之一,有顿悟之感,自觉对编码思想有了很大提高。
但因本人水平有限,java菜鸟一个,对于后三分之二,读起来晦涩难懂,然后搁置。如今,因为一些工作中的实际应用,对java,对面向对象本身,有了一些新的理解,因而重读此书,作此读书笔记。

正文

第一章

架构既设计

  • 架构通常指代高层,而把底层细节排除在外。
  • 设计通常指代底层,指的是各个部分的实现细节。

软件设计既应该包括架构,也应该包括设计。他们虽有侧重,但不应有分隔。或者这么来说,他们是连续的。
(莫名想到了当初高数的函数连续性,hhhh)

软件设计的目标

软件架构的终极目标,是用最小的人力成本来满足构建和维护该系统的需求

软件架构在于,预估出用户修改的量级,使整个系统,在它的生命周期内,维持一个修改的低成本。

案例分析

一个工程师规模增长,但代码行数停滞,以及代码行数变更成本剧增的案例。
原来第一个用代码行数衡量工作量的是你,Bob大叔

一个典型的没有经过合理架构的系统,(突然想到了自己刚刚开发过的系统,好打脸

  • 缺乏设计
  • 匆忙构建
  • 为了加快速度,而拼命加新人
  • 对代码质量和结构设计的忽视

对于开发者来说,这会带来很大的挫败感,因为团队中没人偷懒,每个人都在拼命工作。

不管他们投入了多少个人时间,救了多少次火,加了多少次班,他们的产出始终上不去。工程师的大部分时间都消耗在对现有系统的修修补补上,而不是真正完成实际的新功能。
这些工程师真正做的是:拆了东墙补西墙,周而往复,偶尔有精力能顺便做一点小功能。

管理层,同样能够看出问题,人越加越多,支出也是,然而实现一个功能的成本也越来越高,最初的功能带来的收益最大,然而最后的功能,支出很多,但几乎没有收益

一个栗子🌰
龟兔赛跑的启示

  1. 慢但是稳,是成功的秘诀
  2. 比赛不比谁最开始跑的快
  3. 心态越急,跑的越慢

程序员的误区与谎言
持续低估 良好设计的、整洁的代码的重要性。
我们可以未来重构代码,保证上线最重要。
容忍糟糕的代码,可以加快上线的速度。
采用TDD可以加快速度。mark //ToDo TDD
有人认为,重写可以规避这个问题,其实不然

过度自信只会让重构设计陷入和原项目一样的困局中

相关文章

网友评论

      本文标题:第一部分 概述——第一章 设计与架构究竟是什么

      本文链接:https://www.haomeiwen.com/subject/thqjoctx.html