《程序员修炼之道:从小工到专家》阅读笔记01

注重实效的哲学

在所有的弱点中,最大的弱点就是害怕暴露弱点。——J.B.Bossuet,Politics from Holy Writ,1709

  注重实效的程序员对他自己的职业生涯负责,并且不害怕承认无知或错误

责任  

  责任是你主动担负的东西。你承诺确保某件事情正确完成,但你不一定能直接控制事情的每一个反面,除了尽你所能之外,你必须分析风险是否超出了你的控制。既然选择了,就必须对自己的东西负责,如果事情没有完成,直接告诉他们为什么某事做不到,为何耽搁,为何出现问题。不要推脱,既然没完成,就要如实说明,但是在自己说明之前,要在自己脑海里想好要怎么说,上级会有什么反应,回头又该怎么说。

提供各种选择,不要找蹩脚的借口。

软件的熵

  开发项目时的心里是十分重要的事情,尽管制定了最好的计划,拥有最好的开发者,项目在其生命周期中仍可能遭遇毁灭和衰败、而另外有一些项目,尽管遇到巨大的困难和接连而来的挫折,却成功地击败自然的无倾向,设法取得了相当好的结果。

不要容忍破窗户。

  不要留着“破窗户”(低劣的设计,错误决策,或糟糕的代码)不修,发现一个修一个,如果没有足够的时间进行适当的修理,就用模板把他钉起来。但是千万不要萌生这样的可怕想法,“这些代码的其余部分也是垃圾,我只要照着做就行了。”项目在之前是否一直很好,并没有什么关系。如果你发现你所在的团队里的项目代码十分漂亮——编写整洁、设计良好、并且很优雅——你就很可能会格外注意不去把他弄脏,这是一种效应。所以平时要往好的方面去想。

石头汤煮青蛙

  在石头汤的故事里有两层寓意。士兵戏弄了村民,他们利用村民的好奇,从他们哪里弄到了食物。但更重要的是,士兵充当催化剂,把村民团结起来,和他们一起做到了他们自己本来做不到的事情——一项写作的成果,最后每个人都是赢家。

做变化的催化剂。

记住大图景。

足够好的软件

  欲求更好,常把好事变糟——李尔王 1.4

   使质量成为需求问题。

  你常常会处在需要进行权衡的情形中,让人惊奇的是,许多用户宁愿在今天用上有一些“毛边”的软件,也不愿意等待一年后的多媒体版本,许多预算吃紧的IT部门都会统一这样的说法。今天的了不起的软件常常比明天的完美软件更可取。如果你给用户某样东西,让他们及早使用,他们的反馈常常会把你引向更好的最终解决方案。

  在这方面其实感觉还是挺不错的,有了新的思路,软件是服务于用户的,靠的是用户的需求,而这种依靠用户完善的方法也不错,但是之前已有的功能肯定是经过测试的,这是最低的要求,如果不能实现这个,那这个软件也不会变成最美好的。

你的知识资产

知识上的投资总能得到最好的回报——本杰明·富兰克林对于自己的知识投资要做到:

  定期投资:及时为自己的知识资产投资,即使投资量很小,习惯自身也和总量一样重要。

  多元化:知道的不同的事情越多,你就越有价值,学习多元化。

  管理风险:不要把你所有的技术鸡蛋放在一个篮子里。

  低买高卖:在新兴的技术流行之前学习他可能就和找到被低估的股票一样困难,但所得到的收益就和那样的股票带来的收益一样。

  重新评估和平衡:这是一个非常动荡的行业,上个月开始研究的热门技术现在也许像石头一样冰冷,也许你需要重温一下你有一阵子没用的数据库技术就能获得新职位……

定期为你的资产投资

目标:

  • 每年至少学习一种新语言。
  • 每季度阅读一本技术书籍。
  • 也要阅读非技术书籍。
  • 上课。
  • 参加本地用户组织。
  • 试验不同的环境。
  • 跟上潮流。
  • 上网。

交流

  我相信,被大量比被忽略要好。——Mae West,Belle of the Nineties,1934

  • 知道你想说什么
  • 了解你的听众
  • 选择时机
  • 选择风格
  • 让文档美观
  • 让听众参与
  • 做倾听者
  • 回复他人

  交流是行业不可缺少的,包括与团队的交流,也有对用户的交流,对不同的人采用的交流态度、方式肯定也是不一样的,这就要求我们要会说,知道怎么说,不能光知道怎么说却说不出来,这样也是很难受的,准确表达自己的意思和让对方接受我们的想法是不一样的。

posted @ 2019-05-08 12:34  枫黎  阅读(142)  评论(0编辑  收藏  举报