理解专业程序员 学习笔记 之二

第四章 我们能更有效地思考吗

4.1 为什么人们根本不思考

以下是一些人们不思考的常见原因:

  1. 有人不愿意人们思考, 所以故意使用诸如"所有的", "永远", "每个", "显而易见"这样的"催眠词"来麻痹人们, 从而扼杀思考. 清醒的人们应该把这些"催眠词"看做触发器, 一碰到它们, 就应该好好思考一下.
  2. 思考会使人疲倦, 因此也可能妨碍其他的思考. 思考本身是一件费时而昂贵的事情. 如果对任何事情都思考, 那么可能什么事情都做不了了. 因此人们会把生活中的一些事情例行化, 不加思索地完成, 这样才能把思考留给必须思考的东西.
  3. 最重要的原因是: 在学校里面我们没学会思考. 长年的学校生活, 让我们认识到这样的道理: "我们不用去花费心思思考什么, 只要考试过关, 老师放行毕业, 谁在乎你是不是直地是个会思考的人呢?" 进入了工作岗位, 这样的思维也惯性地起着作用: "我们不用花费时间去思考什么, 只要工作成果大体说得过去, 老板也没觉得有问题, 谁在乎你会不会思考呢?"

4.2 你是哪种类型的思考者

学校的应试教育还造成另一种根深蒂固的观念: 对于任何一个给定的问题, 存在并且只存在一个解——且只有老师才知道这个解是什么. 被这样的教育训练出来的程序员, 在面对一个程序设计的现实问题时, 也会用应付考试的方法来解决现实问题, 即: 力争找到能得到"编程权威"(可能是上级, 可能是其他的资深同事)肯定的那个唯一的解法! 但是, 请记住: 现实生活绝不是学校里面的考试. 现实生活中的问题要复杂得多, 千万别把现实问题理想化和想当然.

4.3 到底是注意力集中还是强迫症

在编程行业中, 我们的行业秘密是一些两两互补, 或者两两矛盾的法则. 优秀的程序员, 就在于知道何时应用一条法则, 而何时该应用其互补法则.

4.4 大脑会变得不健康吗

大脑需要刺激. 如果你把自己锁进一个"工作工作再工作"的模式里, 你的大脑很快就会麻木. 所以如果你想提高工作效率, 你就要在工作中不那么一心一意地投入.

但是, 要保证大脑确实受到了刺激. 最好的刺激是多元化. 看一些平时工作中用不到的书, 看一些与工作无关的书, 参加一些平时没机会参加的活动.

4.5 我为什么总有主意

主意是怎么产生的? 基本上, 主意有3个源头:

  1. 错误. 那些彻头彻尾的新主意来自错误. 但是实际情况却是: 我们很少主动利用自己的错误来产生主意.
  2. 偷窃. 通过理解和借鉴他人的主意并加以改造, 我们也能形成自己的主意.
  3. 交配. 把两个独立的主意合成一个新的了不起的主意.

4.6 着急的海狸和聪明的刀子: 一个寓言

三思而无为, 总比不思而妄为要好. 换句话说: 知道什么时候让事情自己水到渠成, 这是最高的智慧.

第五章 为什么不是人人都能理解我

5.1 输出过载

很多年轻的程序员, 智商非常高, 对计算机以及其他知识都所知甚多, 他们自身就像是拥有强大CPU的计算机. 但是这些程序员真正需要的, 是改善他们的"输入"、"输出"能力, 从而与环境更加平衡协调. 在谈话时, 在写作时, 他们可以减少输出的数量, 而把节省下来的运算能力用在提高质量上.

要利用运算能力改善提高输出质量, 一个办法就是把这种能力用来处理输入. 我们一般称此为"倾听". 如果你想让人认为你聪明, 那就认真听人说话, 仔细理解人家的意思. 如果你想让人认为你傻, 那就不妨经常用你的高见打断别人的话.

5.2 重写和H配方测试

读和写的能力, 对于程序员来说是一项重要的素质. 程序员写出的代码和文档, 应该像是一本清晰易懂的书籍.

但是, 除了天才, 没有人会第一稿就能写得完美无暇. 实际上, 一切优秀写作的秘诀都是: "重写", 通过反复的推敲和重写, 最终的代码和文档才可能成为精品.

程序员在判断一个程序, 一段注释或一篇文档是否需要重写时, 可以依据如下的原则: 如果读它花的时间要比写它还长, 那就应该重写, 要么干脆扔掉, 从头再来.

5.3 说你所想, 要么想你所说

代码反映的是程序员的意图, 因此代码就应该原原本本地反映出程序员的意图, 不多也不少. 如果你发现代码反映的意图并不准确或并不清晰, 那说明你还没有把你想表达的意图想清楚. 先把你的意图搞明白, 再用代码来表达它.

5.4 误诊病理学

计算机行业有一种现象, 就是有人喜欢故弄玄虚, 故意用一些听上去高深莫测的术语或首字母缩写词来包装一些本质上简单明了的概念. 这样带来的后果却是: 人们的沟通变得不再清晰明白.

5.5 统计数字如何导致误解

人总有一点偏见或偏好, 程序员也不例外. 但是, 对待严肃的科学研究时, 则应该使用坚实可靠的实验数据说话. 如果只按自己的偏见或偏好行事, 那只能导致自己或别人被这种偏见或偏好所误导.

5.6 来自大学的一课

很多计算机企业都有正规的文档系统, 公司的文件资料都会归档存放到这个文档系统中. 但是, 企业管理者还必须认识到企业中还存在着另一种"看不见的文档": 人的大脑. 关于企业最重要的文档信息实际上是保存在人脑子里的. 有这么一类人, 他们的唯一功能, 就是唯有他们才记得事情到底是怎么回事, 或者事情怎么会变成这样的. 这类人, 其实就是企业内部的"活文档".

由于企业既存在有形的文档系统, 也存在这样无形的"活文档", 并且后者较前者更为重要, 所以企业管理者在考虑改善企业的文档系统时, 不单需要关注有形的文档系统, 更应该关注改进企业的"活文档"系统. 以下是一些建议:

  • "活文档"是企业的宝贵财富和资源, 一旦流失, 公司将蒙受巨大损失. 因此, 任何有助于降低离职率的措施, 都是对企业"活文档"系统的重大保护.
  • 采取一些行之有效的手段, 把"活文档"所知道的关键信息转储下来, 这样有利于"活文档"的传承. 例如, 使用书面文字、视频、音频等各种方式, 把"活文档"录制下来.
  • 采用同级评审的作法, 提高代码、注释、书面文档及其他形式的文档的质量, 确保有一个以上的人读过并理解该文档.
  • 使用版本控制, 记录下代码和文档的修改历史, 从面让后来者更容易明白事情的来龙去脉, 并更方便地向"活文档"寻求帮助.

5.7 老鼠和熨斗: 一个寓言

所谓交流, 总要有两个活人. 一个活人加一个熨斗则不成.

posted @ 2011-08-09 21:38  李嘉 (Justin)  阅读(259)  评论(0编辑  收藏  举报