构建之法--软件工程

这本书是微软高级工程师邹欣所著,是一本关于软件工程的大学教材。

曾经被用于清华/北航等学校的软件工程课程的教学,非常受喜欢。

我觉得这本教材相对一般传统教材而言,对软件工程知识的系统讲述更加趣味性,大量案例结合说理的陈述方式更加通俗易懂,看完之后让人有一种豁然开朗的感觉。我确实被震撼到了,非常想把这本书推荐给从事软件行业的朋友,相信他读完会有同我一般的感受,以前大学上课的教材大多是堆积知识,干巴巴的,学习起来非常费脑子,容易疲倦烦躁,失去学习兴趣。

书中对个人技术阶段提升的讲述,令人相见恨晚。写代码是基本功的陈述及基本功的重要性迅速地让人心领神会。基本功是需要练到炉火纯青,如同肌肉记忆一般,使用的时候才会占脑子,更加高效地实现目标任务。编码只是保证软件实现最最基础的动作任务,软件架构层的设计/软件语言本身的优劣分析/技术选用的合理性规划等等都是更加先决而且重要的任务,而且相对难度也更高。只有在基础编码上尽可能的缩短时间,才能为其他的更加重要的事情腾出时间。

这个道理其实放在那里都使用,不管哪个领域行业,都是有一些基本功存在的,而基本功都必须练到炉火纯青,更重要的是基本功通过反复练习都是可以实现。对于那些好高骛远的人来说,包括我,对这种道理的讲述真是相见恨晚。

还有书中对于团队中的代码相互审查的重要性进行的讲述,非常令我信服。那怕是你的代码写的非常好,没有bug问题,但是相互审查也是有必要。审查的时候,必然就会存在需要相互解释沟通的情况,别人对你的代码进行检视,你对代码的构建原理进行说明,你在讲述的过程中也让自己对构建逻辑更加清晰,梳理了自己的知识体系,同时还向别人分享你的技术,别人也可能有更好的构建方法相互交流,进而起到相互提高的作用。沟通的作用是双向的,而且能够产生更多的意想不到价值。这个道理对于我来说,也是相见恨晚。以前喜欢一个人独自作战,不太喜欢沟通,是因为没有理解到其中的重大玄机,真是悔不当初。

对于编码规范/风格的讲述,也使人印象响深刻。当代码从几行变成几万行或者更多的时候,代码规范/风格的重要性就立马凸显出来,代码的可读性和模块化显得尤为重要。其实这是一个浅显的道理,但是平时自己写一些小程序的时候,并不太在意这些习惯的养成,没能体察到代码规范风格的重要性,还是令我很受启发震动。

至于用户体验设计当中的典型用户和场景的思想方法,很有启发意义。任何行业都存在类似的问题,其实典型用户和场景的思想在哪个领域都是可以使用得到。

最后补充一下,关于团队的论述,不管那个团体,一旦团队变大了,就一定会参杂进来各色各样的人。猪/鸡/鹦鹉这几种人一定会存在,一般情况下一定规模的团队都会存在五种人:「做事的,不做事的,不让别人做事的,做假的事的,假装在做事的」。我觉得这很有启发,从一个侧面上可以解释为什么很多高大尚的机构/公司团体也存在一些低素质的成员,这里的“低素质”是相对的,可能在技能技术侧面他们与其实成员是相当的,但在一些软技能素质,比如道德水平/团队精神/价值观等等层面出现差异;在和平时期,这样的差异并没有什么影响,但是一旦“战争”时期来临,需要关键决策判断的时候,软技能素质就会起作用,低素质的成员容易出问题。

这本书相见恨晚,读一遍是不够的,隔一段时间我还会再读一遍。相信一定会有新的收获!

在知乎上,我也强力推荐这本书,特别是对刚毕业或者在校生,我相信有非常大的启发。想想要是曾经我在大学时代度过这本书可以会早早的明白很多道理,对我的职业生涯有更多的帮助。

知乎链接:https://www.zhihu.com/question/24945458/answer/378217809

hylan 2018-04-30

你可能感兴趣的:(构建之法--软件工程)