代码之外的功夫:程序员精进之路---读书笔记

《代码之外的功夫:程序员精进之路》是一本很不错的技术书籍,并没有拘泥于技术细节,而是从微知著的讲实现复杂业务系统的落地细节与模型设计,作者具有很高的技术素养,从简入深的讲解从一个变量的命名,到复杂系统的领域建模的思考过程,对代码精益求精的态度值得每一个技术人员学习。值得我们学习。

这次读了第1-2章, 感悟如下:

1. 利用线框图表达功能需求

不要花费过长时间去讨论子系统(书中实际例子为推荐系统)的完美实现方式,而应该先集中精力寻找“最简单可行的方法”。

2.编程之初立即搭建测试系统

第一次发布的真正目的是创建一个可用的系统,以便提高后续的变更速度,并由此开始探索项目创意的过程。

3. 全面探讨不足,改善追求实效

完全不犯错误是不可能的,但最关键的是你对这些问题作何反应。
如果拖得越久,问题是不是越难解决?如果答案是否定的,那么这个问题是可以暂缓的。让出时间给更核心的问题。
每当发现自己的软件有瑕疵时,你可能想要停下手中的工作,立即去修复。但是在项目的探索阶段,你得去平衡软件缺陷带来的损失和修复这一缺陷的时间成本。

4. 早问多问,验证设想

尽早探知客户头脑中的想法,早问总比晚问好。所谓“学之乃知,不问不识”,多问问总不会有坏处!
力求缩小自己的工作范围。谨记原型并非生产系统。

5.巧妙设计特性,轻松收集反馈

将技术思想可视化,方便与客户进行探讨并收集反馈。
在原型阶段结束之前,应该至少会有一个始料未及的重大问题浮出水面。

总结

  1. 不要因为某个变更没有明显改变现有特性,就认为它会向后兼容或绝对安全。相反,应该对隐藏的依赖关系随时保持警惕,即使进行的是最简单的更新操作。
  2. 注意除代码库之外的大量共享资源:存储机制、处理能力、数据库、外部服务、库、用户界面,等等。这些工具形成了一张“隐藏依赖网”,会给看起来毫无关联的应用特性带来副作用或引起故障。
  3. 利用限制和验证的方式,在最大程度上防止局部故障对整个系统造成影响。但还要确保系统拥有良好的监控机制,以保证快速知晓和处理突如其来的系统故障。
  4. 在复用现有的工具和资源时,要尤其注意使用环境的变化。任何对使用范围、性能标准或隐私安全级别的改变,如果不经过仔细考虑,都可能引起非常危险的问题。
  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值