《程序员修炼之道》读书笔记——第一周

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

第一周


软件产业变化很快很大,但是深入繁杂表象的背后,变化并不大,1999年的开发原则在2009年仍然有效。

这是一本关于doing的书。教会我们如何成为一个注重实效的程序员。

关心你的技艺。

一定要关心自己的技艺,这是根本的,只有关心自己的技艺,才会对自己的技艺有个认识,并时刻想着发展自己的技艺。

思考!你的工作。

这是对每一天,在每一次开发会上所做的每一项决策的批判评估。思考要不间断,实时的批判自己的工作。

思考虽然花费时间,但是会有回报。忙的时候为了每一天有秩序,会提前做日历安排,然后自己会把日历排满了学习计划,然后执行计划。这个安排的时候就会思考,对于哪些需要加入日历,哪些则不加入日历,这是思考,加入日历以后,在还没有进行前,要是能够日常思考接下来的任务,就可以不断的优化自己的安排,那么自己接下来的时间就得到了升值。

每天为提炼所拥有的技能而工作,为把新的工具增加到自己的技能列表中而工作。要有目的性(改善)和持续性。

  • 遇到术语要查一下!

处理问题、寻求解决方案的态度、风格、哲学。

越出直接的问题去思考,总是把问题放在更大的语境中,总是设法注意更大的图景。

对所做的每件事情负责,不害怕承认无知和错误,提供各种选择,不要找借口

不要容忍破窗户,不要容忍糟糕的代码、低劣的设计、错误决策,

  1. 发现一个修一个

  2. 如果没有时间,就先用木板钉起来

记住大图景

拖延是一天一天发生的!

知道何时止步

eg:列计划的时候总会想:我的计划是不是合理,然后就对着屏幕的日历发呆,这是对时间的浪费,更甚至,可能在不断修改计划时候,把时间表塞的越来越慢,导致计划丧失了可执行性,反而不如开始的计划,计划不可能完美,不必一下子列出完美的计划,只需在日后执行计划的时候不断的思考,一步步完善计划就好了。

学习需要时间,时间本就很少了,所以要预先规划,让自己在空闲的时间有东西可读

  • 交流

    开组会前不仅要想好要说什么,还要想好怎么说,避免出现大家听完后误解耽误时间!!!

    别人在说想法时候不要走神,尽量不要说“再说一遍”,锻炼自己听懂别人idea的能力

  • 估算

    估算,以免发生意外

    估算都以问题的模型为基础,追踪自己的估算能力,由于现阶段课程已周为单位,每周的日程差不多都是相似的,每周的任务也很大的相似度,那么一周过后应该看一下自己的计划有哪些没有完成,哪些时候完成还海参很多时间,记录下来这些,以后估算就知道往哪方面改进了。

  • 在项目开始之前

    • 挖掘需求,与用户一同工作,以像用户一样思考

    • 建立需求文档:

      • 用例模板见p167

      • 不要规定过度,好的需求文档需要保持抽象,需求是需要

      • 积极地追凶需求,以防止特性膨胀

      • 维护一个词汇表

  • 调试

    • 这是痛苦的事

    • 要修正问题,而不是发出职指责。

      • bug是你的错还是别人的过错,这个并不是真的很有关系。它仍然是你的问题。

    • 调试第一准则:不要恐慌

      • 一个脑细胞都不要浪费在以“那不可能发生”起头的思路上,因为很明显,它不仅可能,而且已经发生了。

      • 要总是设法找到问题的根源,而不只是问题的特定表现。

    • 从何处开始

      • 先把warning搞定。(把时间浪费在设法找出编译器能够为你找出的问题上没有意义!)

      • 搜集所有的相关数据,首先需要在观察中做到准确。

      • bug报告的准确性在经第三手后会降低

        • 与报告bug的用户面谈,以搜集比最初给你的数据更多的数据

        • 请无情的测试

    • 测试策略

      • 再现bug(我们需要的是通过一条命令就能再现的bug)

    • 橡皮鸭法(讲述自己的思路和假定)

    • 消除过程:请不要第一想法是BUG存在于OS、编译器、或第三方产品中。

posted @ 2018-03-20 10:57  RicardoZ  阅读(101)  评论(3编辑  收藏  举报