Back to home

<97 Things Every Software Architect Should Know>读书笔记

提前关注性能问题

在我的工作中更多的是在设计阶段体现,从设计阶段我们就开始要求为目前整体系统性能设计。 比如增加“实时通知”的实现方案前,会考虑目前整体网站的用户数量,在线用户量,峰值,平均,通知消息的结构设计,占用网络带宽多少(是的,更多时候IO才是瓶颈),得到结论后开始决定方案。

架构设计要平衡兼顾多方需求

在我的工作中最为明显的是,系统架构和产品分步演进。
在制定系统架构时无法投入足够多的人力,只能依据产品项目需求逐步完善。

如书上说传统意义上的技术工作:

  • 系统建模
  • 定义接口
  • 功能划分
  • 套用模式
  • 优化性能

还需要注意其他需求:

  • 安全性
  • 易用性
  • 产品支持
  • 发布管理
  • 部署方式

草率提交任务是不负责的行为

不要浪费他人时间。
在工作中也碰到这样的同学,耍小聪明,在测试人员的环境中“调试”。除了开发环境本身的复杂程度之外,只能说明责任心不强。后者无法“显著提高”,只能依靠改进生产工具,减少部署困难来解决。
最主要的体现是对BootStrap tool 的搭建。不过话说回来,本身应用这些缺乏文档的脚手架就能唬倒很大一批人(被唬倒要么是这个领域的专家 - 因为你们做的不好,要么就是无所事事的码农 - 对这个职业没有太多热情)。