读书 – 软件架构师应该知道的97件事

-摘自”软件架构师应该知道的97件事”

“…但在现实世界中,最好的架构师不是要去解决难题,而是要围绕难题开展工作.架构师要能够将四处弥漫的软件问题圈起来,并画出其中的各种边界(接口),确保对问题有稳定的,完整的认识.”
–Stable problems get high-quality solutions
“架构师要从整体上看待杂乱无章的数据/概念/数据处理逻辑,架构师要能够将他们作为整体看待,并将它们分解为更小的片段或”块”.重点在于,这些问题必须是稳定的,它们在范围上有限且稳定,可以作为系统模块解决.”
–Stable problems get high-quality solutions
–上面两点说的无外两点: 正确的确定scope, 合理的架构拆解

“从架构师角度看,困难的所在,是要找到设置边界的自然之处,并定义出构建可工作系统所需要的合适接口.大型的企业系统,其自然边界稀少及多个领域之间互有纠缠,做到这点尤为困难.”
–Architects’ focus is on the boundary and interfaces

“称职的架构师应该勇于接受新观念,敢于尝试新的设计思路和工具,促进项目/团队,甚至整个行业的发展;他不会浪费大把的时间参与管理层会议,或者妄想独自编写所有代码;他应该采纳好点子,营造活跃的思考氛围.只有思想开放的架构师才能平衡各种矛盾因素,顺利完成项目.”
–Janus the architect

“将程序设计–或者更准确的说,软件开发, 看作发现和学习的过程,而不是生产和建造的过程.”
“如果把编写代码看成设计行为,而不是生产行为,我们就能采用一些已经被证明有效的管理方式,这些方法过去用于管理具有不可预测性的创新工作,比如研发新车/新药/新的电脑游戏.我所指的是敏捷的产品管理方法和精益生产方法,比如scrum,它们关注如何为客户实现最大的投资收益”
–Programming is an act of design

“沉下心来改善系统的生产效率,缩短流程,避免各行其是,才能缩短开发时间.采取一切可行的措施,例如运用模拟方法,降低依赖性,细致划分系统模块,等等.总之要杜绝一起草率提价任务的念头”
–Commit-and-run is a crime

Comments are closed.