手之舞之,足之蹈之

简介:

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

 

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

 

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

 

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

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

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

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

 

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

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

 

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








本文转自wayfarer51CTO博客,原文链接:http://blog.51cto.com/wayfarer/469799,如需转载请自行联系原作者

相关文章
|
存储 算法 数据库
阿里云InfluxDB®基于TSI索引的数据查询流程
简介 时间序列数据库是目前技术发展最快的数据库类型之一。作为业界最为流行的时序数据库InfluxDB,其部署运行十分简洁方便,支持高性能时序数据的读写,在应用程序监控、物联网(IoT)领域有着广泛的应用。
4153 1
|
4月前
|
存储 人工智能 云计算
挑战杯专属支持资源|阿里云-AI大模型算力及实验资源丨云工开物
阿里云发起的“云工开物”高校支持计划,助力AI时代人才培养与科研创新。为“挑战杯”参赛选手提供专属算力资源、AI模型平台及学习训练资源,包括300元免费算力券、百炼大模型服务、PAI-ArtLab设计平台等,帮助学生快速掌握AI技能并构建优秀作品,推动产学研融合发展。访问链接领取资源:https://university.aliyun.com/action/tiaozhanbei。
|
7月前
|
存储 人工智能 自然语言处理
知识库管理:全流程智能化中枢,驱动企业信息资产高效流转
智能系统的知识库管理技术可以深度融合AI技术与精细化流程控制,提供从内容创建到版本追溯的全生命周期管理。支持多模态数据统一存储(文本、语音、图像等),实现自动化审核、智能分类与语义检索,确保企业知识资产的安全存储与高效利用,助力业务持续优化。核心功能包括多角色协作编辑、动态标签管理、历史版本追溯及毫秒级语义检索,大幅提升信息管理效率与准确性。
308 9
|
8月前
|
机器学习/深度学习 人工智能 算法
深度学习用于求解车间调度问题,性能如何呢?
基于深度学习来求解车间调度问题,不仅求解速度快,求解的质量也越来越好
338 24
|
8月前
|
存储 SQL 数据库
关系数据库-数据库事务处理与ACID原则
本文详细介绍了关系数据库中的事务处理和ACID原则。通过事务处理,可以确保数据库操作的原子性、一致性、隔离性和持久性,从而提高数据的可靠性和一致性。在实际应用中,可以通过事务控制语句和适当的隔离级别,确保复杂操作的正确执行。希望本文能帮助您更好地理解和应用数据库事务处理,提高数据库系统的可靠性和性能。
353 18
|
监控 Linux 应用服务中间件
探索Linux中的`ps`命令:进程监控与分析的利器
探索Linux中的`ps`命令:进程监控与分析的利器
357 13
|
11月前
|
测试技术 持续交付 API
探索软件测试中的自动化:从新手到专家
在软件开发的世界中,测试是确保产品质量的关键步骤。本文将通过一个初学者的视角,介绍如何从零开始构建自动化测试框架,并逐步深入到更复杂的测试场景。我们将探讨自动化测试的优势、工具选择、以及如何有效地实施和扩展自动化测试策略。无论你是刚入门的软件测试新手,还是希望提升自动化测试技能的开发人员,这篇文章都将为你提供实用的指导和启示。
|
11月前
|
存储 JavaScript 索引
码元和码点
在计算机中,字符存储依赖于其ASCII编码值。JS中,每个字符占用16位(2字节)的空间,称为码元,范围0-65535。当字符所需空间超限时,JS使用两个码元表示,总称码点。处理特殊字符如表情时,需自定义方法以正确识别码点,避免乱码,确保字符串操作准确无误。
256 1
|
11月前
|
算法 测试技术 量子技术
时隔5年,谷歌再创量子霸权里程碑!RCS算法让电路体积增加一倍
谷歌在量子计算领域取得新突破,其研究人员在《自然》杂志上发表论文《随机电路采样中的相变》,介绍了一种名为随机电路采样(RCS)的算法。该算法通过优化量子关联速度、防止经典简化和利用相变现象,使量子电路体积在相同保真度下增加一倍,为量子计算的发展树立了新的里程碑。实验结果显示,RCS算法在67个量子比特和32个周期的条件下,实现了1.5×10^-3的保真度。这一成果不仅提升了量子计算的效率,也为解决噪声问题提供了新思路。
250 3