读书笔记 --《程序员修炼之道》

读书笔记 --《程序员修炼之道》

总的收获

本书提出很多工作建议,有编码层面,项目进度层面,效率层面。给了工作中的很多建议。
印象深刻的有以下几点:

  1. 不要重复你自己
  2. 曳光弹
  3. 单元测试
  4. 持续集成,持续部署
  5. 估算项目时间
    6.破窗理论
    7.重构
    8.自动化

以下是总结:
这本书,主要告诉程序员(开发, 测试,运维)一些工作中的方法论,和一些工作习惯。能够使你的工作更加高效和挖坑更少。
注重实效的哲学
注重实效的程序员在工作会做到: 负责,不仅仅是按时完成工作,更多的是,当出现问题的时候,不是去找接口,推卸责任,而是承担起来,给出解决方案。勇敢的承认我们的无知。提供各种选择,不找蹩脚的借口。
不要留破窗户, 当你看到问题的时候,尽快修复他。否则,最后问题将变的更加严重,直到你再也不想看代码,不敢改动任何一处。(破窗户:低劣的设计,错误的决策,糟糕的代码)。
做变化的催化剂 ,如果没有人作出改变,那就从你开始,影响每一个人。
足够好的软件, 不要等到你编写出完美的软件再交付给你用户使用,小步迭代,持续交付,尽早让你的用户看到软件,能够让你及早的发现问题,及时调整。
更新你的知识资产,要定期阅读来学习新的知识,多元化,可以让你的视野开阔。
批判的思考,批判的分析你读到的和听到的,否则很难将你学到的转换成你自己的知识,最后你只是一个图书馆。
交流,倾听别人和让对方倾听你,清楚你要告诉倾听者什么,你是否表达清楚,回复他人,确保对方确定你已经收到了他告知你的信息。

注重实效的途径
DRY原则 不要重复自己 ,我们经常会做很多重复的工作,而是意识到解决一下这些重复,或者进行抽象,或者进行自动化,我们应该做更加脑力的事情,而不是体力活。

  • 强加的重复

  • 无意的重复

  • 无耐心的重复

  • 开发者之间的重复

正交性 两个或者多个事务其中一个发生变化,不会影响其他的,正交性系统模块之间的耦合很低。
正交性的好处

  • 提高生产率

  • 降低风险

  • 利于测试(特别是单元测试)

编码使用正交性的技巧

  • 让你的代码保持解耦

  • 避免使用全局数据

  • 避免编写相似的函数

曳光弹 使用简单的功能,方法检验方案是否可行,小步快跑,快速迭代,让客户能尽快的看见的看见东西,以便及时进行调整,保证项目能够成功。
估算 避免发生意外
基本工具

  • 使用脚本高效工作

  • 源码控制

  • 构建 自动和可重复的源码构建

  • 调试你的代码 调试的形式不仅仅是使用IDE的调试工具,也可以使用断言,输出查看,毕竟多线程下,很难进行调试。

  • 代码生成器

注重实效的偏执
你不可能写出写出完美的软件,不可能不犯错误,所以注重实效的程序员,会对自己的错误进行防卫性编码。

  • 按合约设计 合约即规定你的权利与责任,也规定对方的权利与责任。

  • 死程序不说谎 代码是最老实的家伙,一旦出异常和错误,就要测试,修改代码。

  • 断言式编程 如果它不可能发生,用断言确保它不会发生。

  • 配平资源 要有始有终,打开的资源,记得关闭。

弯曲或折断

  • 使代码不会僵化,我们需要解耦各个模块。

  • 解耦与得墨忒耳法则 得墨忒耳法则:只和你的‘密友‘交谈

当你编码时

  • 不要靠巧合编程,要深思熟虑的编程

  • 算法的时间空间复杂度

  • 重构 使快要或已经僵化的代码,重新焕发活力

  • 易于测试的代码 编写单元测试

当项目开始之前

  • 挖掘真实需求

  • 建立需求文档

  • 使统一的沟通词汇

  • 充分准备 倾听反复出现的疑虑,等你准备好再开始。

注重实效的项目

  • 不要留破窗户

  • 做催化剂

  • 交流沟通

  • 不要重复你自己

  • 正交性

  • 自动化

一切都要自动化

  • 无情的测试

  • 在你的代码上签名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值