[置顶] 读薄经典——《程序员修炼之道》

第一章

Provide Options,Don’t Make Lame Excuses.

对自己承担的事情负责
麻烦别人之前先问自己是否能解决

Don’t Live with Broken Windows

不要把发现的‘破窗’(低劣设计、错误决策、糟糕代码)留在软件中

Be a Catalyst for Change

做促使团队变得更好的催化剂,比如处理掉那些早就决定要做却一直拖延的事情。
这使我想起了《士兵突击》中许三多铺路的那段。

——2015-03-30

Make Quality a Requirements Issue

使软件质量成为需求问题,让用户觉得需求

Invest Regularly in Your Knowledge Portfolio

  • 每年至少学校一门新的语言
  • 每个季度阅读一本技术书籍
  • 阅读非技术书籍
  • 上课(可以是公开课)
  • 尝试不同的操作系统

Critically Analyze What You Read and Hear
批判性分析和接受你所看到和听到的知识,促进对思考和对知识的理解

——2015-04-01

It’s Both What You and the Way You Say It

  • 知道自己要说什么
  • 了解听众
  • 选择时机
  • 做倾听者
  • 让听众参与
  • 回复他人

第二章

DRY-Don’t Repeat Yourself

系统中的每一项知识都必须具有单一、无歧义、权威的存在。
糟糕的代码才需要许多注释(一来是过多的注释会让代码变得不纯净,二来代码修改之后需要重复得去更新注释)

Make It Easy to Reuse

让复用变得更容易,避免开发者之间的重复

Eliminate Effects Between Unrelated Things

解耦合

  • 不依赖其他模块也不要想其他模块暴露任何细节
  • 避免使用全局数据
  • 避免编写相似的函数

——2015-04-04

Use Tracer Bullets to Find the Target

就是做demo的意思

Prototype to Learn

为了学习或测试的单一功能,可以忽略以下细节:

  • 正确性
  • 完整性
  • 健壮性
  • 风格

Program Close to Problem domain

使用需求所在领域常用的语言去开发,如做网站就用php,jsp,asp等,嵌入式就用C或者汇编

——2015-04-06

Estimate to Avoid Surprises

通过以下方式,提高项目进度估算的准确度:

  • 充分理解项目需求
  • 建立响应系统框架
  • 拆分具体系统

  • 另外要持续追踪估算的准确性,找出影响估算准确性的因素

Iterate the Schedule with the code
通过编码不断调整时间预算

第三章

Keep Knowledge in Plain Text

使用纯文本记笔记

Use the Power of Command Shells

命令行可以实现自动化

——2015-04-21

持续更新….

你可能感兴趣的:(程序员)