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

  1. 关心你的技艺
  2. 思考你的工作
  3. 提供选择不找蹩脚的借口
  4. 不要容忍破窗户
  5. 要做变化的催化剂(石头汤)
  6. 注意大图景
    欲求更好,常把好事变糟 -李尔王
  7. 使质量成为需求问题
    知识上的投资,总能得到最好的回报 -富兰克林
    如何投资自己的知识?
    定期投资
    多元化
    管理风险
    低买高卖
    重新评估和平衡
  8. 投资你的知识资产
    每年学习一门新语言
    每个月阅读一本技术书籍
    上课
    参与本地用户组织
    实验不同环境
    跟上潮流
  9. 批判的思考你读到的和听到的
  10. 你说什么和你怎么说一样重要
  11. 不要重复你自己
    为什么需要注释?都说需要注释,是因为糟糕的代码才需要注释,优秀的编码根本不需要!
  12. 让复用变得容易
  13. 消除无关事物的影响
    让你的代码保持解耦
    避免使用全局数据
    避免写相似函数
  14. 不存在最终决策
  15. 用曳光弹找到目标
  16. 为了学习制作原型
  17. 靠近问题领域编程
  18. 估算,以避免意外
  19. 通过代码对进度表进行迭代
  20. 用纯文本保存知识
  21. 熟练使用命令行shell
  22. 用好编辑器
  23. 总是使用源码控制
  24. 修正问题bug,而不是指责
  25. “Selection”is broken
  26. 不要恐慌
  27. 不要假定要证明
  28. 学习一种文本操纵语言
    脚本语言的作用:
    数据库的维护
    java属性的访问
    测试数据生成
    写书
    C与Object Pascal的接口
    生成web文档
  29. 编写能编写代码的代码
  30. 你不可能写出完美的软件
    没有什么东西比常识和坦率更让人感到惊讶了。

-爱默生
31. 通过合约进行设计
32. 早点崩溃
33. 如果不可能发生,请用断言确定它不会发生
34. 将异常用于异常的问题
35. 要有始有终
36. 使模块之间中耦合性降到最低
37. 要配置不要集成(多使用元数据metadata)
38. 将抽象放入代码,将细节放入元数据
39. 分析工作流,改善并发性
40. 用服务进行设计
41. 总是为并发性进行设计
42. 视图与模型分离
43. 使用黑板工作流方式
44. 不要靠巧合编程(先思考再编码)
45. 估算你算法的阶
46. 测试你的估算
47. 何时需要重构
重复
非正交性的设计
过时的知识
性能
48. 早重构,常重构(类似肿瘤)
重构的注意事项:
不要在重构中添加新功能
重构之前先确定有良好的测试
采用短小,深思熟虑的方式
49. 为测试而设计
50. 测试你的软件,否则你的用户就得测试
51. 不要使用你不了解的向导代码(自己应该有自己代码生成器)
52. 不要收集需求而是挖掘他们!
53. 抽象比细节活得更长久
54. 使用项目词汇表
55. 不要再盒子外面思考—找到盒子
56. 倾听反复出现的疑虑,请准备好
57. 对于有些事情,做甚于描述
58. 不要做形式方法的奴隶
59. 昂贵的工具不一定能做出合适的设计
60. 围绕功能而不是每个人职务分组
61. 不要使用手工流程
62. 早测试、常测试、自动测试
63. 要通过所有的测试,代码才算完成
64. 要通过蓄意破坏测试你的测试
65. 测试代码覆盖,而不是覆盖代码
66. 一个bug只抓一次
67. 把英语当成一种编程语言
68. 把文档建在里面,而不是拴在外面
69. 温和地超过用户期望
70. 在你的作品上签名

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2020-2021 一潭清泓
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信