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

闲聊

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

正文

第一章

架构既设计

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

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

软件设计的目标

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

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

案例分析

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

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

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

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

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

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

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

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

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

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

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、生命周期 一个事物一旦出生,就必然会长大,变异,一旦长大,就面临着衰老,接下来就是消亡了,这个过程就称为一个事...
    ZyBlog阅读 2,897评论 1赞 11
  • 1、程序员的3个层次 1.1、普通程序员 a、编写代码:正确处理业务流程和数据计算;b、让代码跑起来 1.2、工程...
    wantao123阅读 888评论 0赞 6
  • 序 程序员的三个层次(1) 普通程序员编写代码,能够让程序跑起来的人。(2) 工程师有“洁癖”、有工匠精神、有修养...
    nimw阅读 1,838评论 0赞 3
  • 一、整洁代码 A.混乱的代价 1.有些团队在项目初期进展迅速,但有那么一两年的时间却慢去蜗行。对代码的每次修改都影...
    ZyBlog阅读 2,320评论 0赞 2
  • 从今天开始,我们的小蜗牛战队将用2周的时间完成《吃掉那只青蛙的阅读》。 推荐序2: 每一个人都有困惑期、迷茫期。在...
    用爱来书写父亲阅读 230评论 0赞 0

友情链接更多精彩内容