程序员的职业素养 读书笔记

要精熟掌握每项技艺,关键都是要具备“信心”和“出错感知”能力。

做好准备

在编码时必须平衡互相牵制的多种因素

1、代码必须能够正常工作。

2、代码必须能够帮你解决客户提出的问题。

3、代码必须要能和现有系统结合得天衣无缝。

4、其他程序员必须能读懂你的代码。

凌晨3点写出的代码

    疲劳的时候,千万不要写代码。奉献精神和职业素养,更多意义上指要遵循纪律原则而非成为长时间工作的工作狂。

焦虑时写下的代码

    花专门的一块时间来处理造成焦虑的问题,而不是强迫自己忍受着内心的焦虑煎熬继续编程。

流态区

程序员在编写代码时会进入的一种意识调试专注但思维视野却会收拢到狭窄的状态。在这种状态下,他们会感到效率极高且“绝无错误”。

避免进入流态区,这其实只是一种“浅层冥想”状态,在这种状态下,为了追求所谓的速度,理性思考的能力会下降。

音乐

    在听音乐时无法写好代码。听音乐似乎消耗了至为重要的一部分脑力资源,音乐会将人带入到流态区。

中断

    粗暴相对的回应方式通常是被他人从流态区中拉出来,或是正努力进入流态区。

    结对编程是用以应对中断的一种好方法。搭档能够很快地帮你恢复被打断前的思维。

    另一种很有帮助的方法是采用TDD。

    中断无法避免,也许下次也会轮到你去打断别人请求帮助。因此,礼貌地表现出乐于助人的态度才是专业的态度。

阻塞

    睡眠不足、焦虑、恐惧和沮丧都有可能导致死活写不出代码来。最好的解决办法就是结对编程。

    创造性输入,平时广泛阅读能激发创造力。

调试

    衡量是否是一名专业人士的一个重要方面,便是看是否能将调试时间尽量降到最低。

保持节奏

知道何时应该离开一会

    当碰到困难和受阻时,当你感到疲倦时,就离开一会儿,让富有创造力的潜意识接管问题。

开车回家路上

洗澡

进度延迟

使用三个考虑到多种因素的期限:乐观预估、标称预估、悲观预估。尽量严守这三个时间点。

不要把预估和期望混淆在一起!把全部这三个数字呈现给团队和利益相关者,并每天修正这些数字。

期望

    如果呈现的预估可能会错过最终期限,除非另有后备预案,否则不要轻易松口退步。不要让其他任何人对此抱有期望。

盲目冲刺

    坚决维持估算!不要经受不住诱惑盲目冲刺。

加班加点

    不应该采用额外加班加点工作方案,除非三个条件都能满足

    1、个人能挤出这些时间

    2、短期加班,最多加班两周

    3、老板要有后备预案,以防万一加班措施失败了。

交付失误

    在程序员所能表现的各种不专业行为中,最糟糕的是明知道还没有完成任务却宣称已经完成。

定义“完成”

    通过创建一个确切定义的“完成”标准来避免交付失误。

帮助

编程很难,仅凭一己之力无法写出优秀的代码。即使你的技能格外高超,也肯定能从另外一名程序员的思考与想法中获益。

帮助他人

    互相帮助是每个程序员的职责所在。将自己封闭在格子间或者办公室里与世隔绝,有悖于专业的职业精神。

接受他人的帮助

    如果有人向你伸出援手,要诚挚接受,心怀感激地接受帮助并诚意合作。

辅导

    辅导缺乏经验的程序员是那些经验丰富的程序员的职责。

原文地址:https://www.cnblogs.com/TanSea/p/ClearCoder-4.html