BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

阅读者开篇:软件架构师应该知道的97件事

| 作者 张逸 关注 9 他的粉丝 发布于 2010年12月29日. 估计阅读时间: 6 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

【编者按】《阅读者》专栏终于开张了。我惯常以蠹鱼自居,如今主持这个栏目,亦可以自封为“阅读者”了。

是的,我们是阅读者,不是书评家。一本好书不需要书评家的饶舌,阅读才是对它的最大尊重。之后呢?是束之高阁,藏于书山,还是不吝于分享与交流?真正的阅读者不屑于藏私,分享才是Web 2.0的王道。所以,有了豆瓣;现在,有了InfoQ的《阅读者》。

技术的阅读不同于文学的阅读。文学的阅读在于心灵的洗涤,以及那种追寻意境之美的沦浃肌髓;在于朦胧,在于玄妙,而所悟有所得。这表达了感性的一面。技术书籍的精要在于准确、简明、完整而实用,不需要引人遐想,更不需要堆砌朦胧之美。或许可以说,技术书籍传递的是钢铁的硬线条,展现了它的结构与质量,而不是闪动的金属辉光。技术书籍的阅读需要理性地分析,客观的评价。这正是《阅读者》专栏的最高原则。

软件业的特点是变化。若要提高软件开发的技能,就必须跟上技术发展的步伐。埋首醉心于项目开发与实战,固然能够锤炼自己的开发技巧,却难免受限于经验与学识。世界上并不存在速成的终南捷径,但阅读好的技术书籍,尤其是阅读大师们的经典著作,总能收到事半功倍之效。一位优秀的程序员,或许就是一名好的阅读者。好的阅读者,总是知道如何选择好的书籍。书海浩繁,良莠不齐。阅读技术好书,如与智者交谈,“与君一席话胜读十年书”;遭遇技术烂书,如被拐卖,“少小离家老大回,乡音无改鬓毛衰”。

《阅读者》专栏希望通过我们的阅读经验,去芜存菁。阅读者与好书是伙伴,与劣书是敌人;阅读者希望保持冷静的客观,不过偶尔也会表露个人色彩的爱憎分明。如何选择,最后还在于《阅读者》的阅读者。


clip_image002

本期《阅读者》介绍了一本小书。书虽然薄,却极有分量;内容不多,却有大智慧。

是否有程序员奢侈地想过,加入这样一个团队:那些世界上顶尖的架构师坐在你的身旁,与你结对设计;或者当你遭遇难题时,亲自为你指点迷津;或者在架构评审时,为你点评架构的优劣。他们态度优雅,行动举止之间透露出Geek的风范;他们不厌其烦,展现出非凡的技艺。他们作为你的导师,言传身教传承着优良的软件工艺。这些顶尖的架构师或者声名显赫,或者技术超群。他们是Neal Ford,Michael Nygard,Bill de hOra,Rebecca Parsons……

我知道,你认为我在讲述天方夜谭。没有哪个程序员可以这样奢侈,可以这样幸运。

不错,这确乎是我的幻想。不可求,不可遇。然而,书却可以拥有这样的魔力,可以让这样的幻想得到实现。感谢Richard Monson-Haefel荟萃了这样一个团队,并将他们带到每一个读者身边,那就是这本薄薄的小书《软件架构师应该知道的97件事》。

我不想为这本书唱赞歌,然而阅读此书,确实让我受益匪浅。以下是我在阅读本书时摘要的笔记:

在大型软件项目中,关注根本复杂性,消除偶发复杂性,抽丝剥茧制订解决方案,才是真正的挑战。……应该尽量选择源自实际项目的框架,警惕那些象牙塔里的产品;分析方案中有多少代码直接用来解决业务问题,有多少只是用来实现用户与应用的交互;谨慎使用软件厂商在幕后推动的方案,它们并非一无是处,但往往包含偶发复杂性;要量体裁衣,为问题制订“合身”的解决方案。

沟通必须简明清晰。没有人愿意阅读冗长的架构决策文档,架构师言简意赅地表达观点是项目成功的必要条件。项目启动之初,凡事能简则简,千万不要一头扎入冗长的Word文档里。可以借助工具,比如简单的Visio图表来表达你的想法,尽量画简单些,毕竟时过境迁,想法总会变化。非正式的白板会议是另一种有效的沟通手段,把开发人员召集起来,在白板上写下你的想法,比任何方法都来得有效。

假设有另外不同的团队打开了代码库,他们很容易便可了解到当前在做什么,这是优秀架构的基础。无需对架构进行过度的简化或为之准备面面俱到的记录文档;好的设计会以多种方式说明自身。

类似这样的架构箴言,在本书俯拾皆是。不要认为这些言论仅仅是泛泛而谈,仔细分析,你会发现其中蕴含的真理令人深省。不错,阅读本书无法让你成为一名优秀的架构师,毕竟本书并不是要传授架构的技巧,但它却能开拓你的视野,让你认识到软件架构以及架构师的诸多方面。正如本书的译者序写道:

全书由97篇格言式散文构成,没有高调的说教,没有抽象的术语,而是以平实、幽默、智慧的笔触,将他们认为对成为优秀软件架构师而言至为重要的精髓和盘托出。全书犹如一块玲珑剔透的水晶,97个切面折射出来的都是出自一线软件架构师的专业智慧。

本书不是为初学者准备的,那些经验之谈对于初学者而言,略显隔靴搔痒;只有真正战斗在一线,并曾经为设计难题而头撞南墙,或者技术水平发展到了一个瓶颈期的架构师或者软件设计与开发人员,在阅读这些话语时,才会搔中他的痒处。就好比孙悟空听菩提祖师说法,手之舞之,足之蹈之,那是因为他听到妙处,体会了各种玄妙,所以才会喜不自胜,不觉作出踊跃之状。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

很期待2011年的阅读者 by sunly everly

年末还有这样的特色栏目开播,真是一大幸事~~期待更多、更深入的分享和探讨

对于像我这样喜爱读书的程序员来说,真是好事 by 许 晓斌

这个栏目可以理解为高质量书评吧,有机会我也来投稿,哈哈。

很期待总结 by Xu Tim

年末能总结一下今年的技术发生的事情

Re: 对于像我这样喜爱读书的程序员来说,真是好事 by 张 逸

欢迎,欢迎。

请各位同学随手将自己的账号更新为中文 by 霍 泰稳

楼上的各位兄台,如果方便,请在“首选项”里将自己的姓名更新一下,像我一样更新为中文姓名“霍泰稳”。我们的目的是希望为InfoQ的读者营造一个简单、纯净的交流环境;另外中文姓名的读者可以优先参加InfoQ定期举办的如QCon、QClub这样的活动。

——InfoQ中文站总编辑 霍泰稳

Re: 很期待总结 by 霍 泰稳

我们目前在邀请业内的一些专家对某个领域进行回顾和展望,不日会有一些好看的内容出来,一起期待:)

看内容确实还行,但是不喜欢这本书的标题 by 谢 邵虎

看内容确实还行,但是不喜欢这本书的标题

阅读者专栏,主要是书评吗? by 王 德水

阅读者专栏,主要是书评吗?

Re: 看内容确实还行,但是不喜欢这本书的标题 by 张 逸

这本书的标题是有点强势,还好不叫《架构师必须知道的97件事》,呵呵:)

Re: 阅读者专栏,主要是书评吗? by 张 逸

是的。不过,以后也许会策划“成长之路的阅读路线图”,甚至可以搞一个年度的图书评比。呵呵。欢迎大家多给意见。

这个栏目不是要号召大家去买书,而是要帮助读者选好书,有目的的读书。

Re: 请各位同学随手将自己的账号更新为中文 by 许 晓斌

好吧,我支持你一下,现在是中文了

很给力 by 刘 恒涛

此专栏很不错,强烈支持。

书写的也很实在和贴切,比如设计中的确要用最言简意赅的词汇方式表达清楚自己的设计意图,不然开发人员一头雾水,设计方案的失败会导致真个功能的失败。方案也不是一次就确定下来的,是经过不断的讨论分析落地的。

这书也就你们架构师看看 by 倪 华杰

我作为一个码工表示。。。好多话都是属于意识层面的东东。。。对于码工来说,鸡肋啊

软件业的特点是变化。若要提高软件开发的技能,就必须跟上技术发展的步伐。埋首醉心于项目开发与实战,固然能够锤炼自己的开发技巧,却难免受限于经验与学识 by 郭 俊

这句话说得非常好,张逸先生说的这些都是在传授我们经验,多好的

内容不错 by 周 祖林

很给力

非常不错,支持下 by 谢 艳平

非常不错,支持下。

Re: 很期待总结 by 肖 少剑

这个真的很期待。

97? by xiaozi graydoc

一看到97就烦躁了

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

18 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT