《代码之外的功夫——程序员的精进之路》摘抄

善用设计原型,探索项目创意

探索式编程技术,概念验证方案;通过与客户沟通,了解项目的需求;利用线框图表达功能需求;编程之处搭建测试系统;全面探讨不足,改善追求实效;早问多问,验证设想;力求缩小自己的工作范围;谨记原型并非生产系统;巧妙设计特性,轻松手机反馈

观察增量变更,发觉隐藏依赖

逐步扩展代码库过程中容易出现的错误;不存在所谓的“独立特性”;两特性同屏必相互依赖;避免不必要的实时数据同步;复用旧代码,寻找新问题

准确识别通电,高效基础服务

第三方系统引发的几类故障;面对小众需求,切记未雨绸缪;谨记外部服务并不可靠;服务一旦有变,查找过期的模拟对象;遭遇烂代码,维护必头疼;不存在纯粹的外部问题

设计严密方案,逐步解决问题

收集事实,清晰描述;写代码之前手动解决部分问题;核实输入数据,随后进行处理;善用演绎推理,检查工作质量;欲解复杂问题,先知简单情况

谨记自底向上,优化软件设计

找出关键词,认清问题;从实现最小化功能入手;避免对象间不必要的时间耦合;逐步提取可复用的组件与协议;进行大量实验,发掘隐藏抽象;了解自底向上方法的局限

认清现实瑕疵,改善数据建模

分清概念建模和物理建模;明确设计模型,追踪数据变化;理解康威定律,实践数据管理;谨记工作流设计与数据建模密不可分

逐渐改善流程,合理安排时间

敏捷、安全地应对意外故障;识别并分析操作瓶颈;注意权衡工作的经济利益;限制积压工作,力求减少浪费;力求整体大于部分之和

认清行业未来,再议软件开发

你可能感兴趣的:(《代码之外的功夫——程序员的精进之路》摘抄)