2019独角兽企业重金招聘Python工程师标准>>>

成为专业人士。

今天开始读到了第四章 编码,之前三张内容 将在周末或其他时间时间补全,最迟将在本月补全。

Bob大叔 在主要要传授的是关于编码的一套规则与原则。

要熟练掌握每项技艺,关键都是要具备‘信心’,和‘出错感知’的能力。而以上两点都是在这套规则所引发的。他们描述的是编码时的行为,情绪与态度。

做好准备。

1,代码必须正常工作。2.代码必须能够帮助你解决客户提出的问题。3.代码必须要能和现有系统结合的天衣无缝。4.其他程序员必须能够读懂你的代码

千万不要在心烦意乱或疲劳时编码。

例如凌晨3点或者和女朋友闹别扭时写出的代码一定会在某日让你更加痛苦。

流态区

就是自我感觉良好,效率超高,你会感到觉悟错误,但是这是危险的。他会使你可以敲出更多地代码,但是你正在做TDD,其实你并没有估计全局。最好的做法是感觉快要进入流态区时,走开几分钟。或者采用结对编程(这个目前好像非常流行,我在其他的科技博客上也看到了类似的说法)而真正应该进入流态区的时间应该是 练习。

音乐

听着音乐确实会让我们感觉轻松,但是真实情况是,音乐正带着你进入流态区。(在工作前一段时间听听音乐确实能够较快的让自己进入状态,但是当沉浸其中时那就进入了所谓的流态区,浅层次冥想,应该减少进入流态区)

中断

当思考问题或进入流态区工作时被打断,不要态度恶劣的去对待他人。结对编程能够让你快速的回到打断之前的思维中,或者让你的同伴去处理问题。另一个办法是采用TDD方法。(:( 不知道TDD是什么 )如果被打断因该礼貌的表现出乐于助人的态度而这才是专业的态度,也许下次或许是去打断别人的就是你。

阻塞

谁都有写不来代码的时候,而那时应该做点别,放松心情。而最好的方法是结对编程。如果还不行那就找个角落清静一会。

创造性输入

要免于陷入阻塞状态的一个好办法就是要多 创造性的输入,才能创造性的输出。

读书看报听音乐,科幻喜剧白日梦。

调试

如果你的代码没有调试那将会是一场无尽的噩梦。

调试时间

开发人员认为调试时间并非编码时间,他们认为存在调试时间是天经地义的。但是对于工作来讲调试时间和编码时间是一样昂贵的。推荐采用”测试驱动开发“这能减少测试时间。(不过我连测试还不会呢)医生不喜欢重新打开病人的胸腔去修复此前发下的错误,律师不喜欢再度接手此前搞砸的案子。

返工是不专业的表现。

保持节奏

软件开发是场马拉松。专业程序员会仔细保存好自己的精力和创造力。

知道何时应该离开一会

遇到没有解决的问题就不应该回家。错,你可以回家,并且因该回家。调整好精力,让大脑休息好,保持节奏能够解决更多的问题。

开车回家路上

让大脑专注于其他事情上,会有助于解决问题。

洗澡

还是放松。

进度延迟

你总有一天会遭遇延迟的情况。有时候只因为我们夸下了海口。

根据目标定期衡量进度。乐观预估,标称预估,悲观预估。告诉项目利益相关者,并每天更新这个数字。

期望

如果10天后要交项目,你的预估是12天,你绝对不可能完成任务。要让利益相关者知道,除非有另外解决方案。不要让其他任何人对此抱有希望。

盲目冲刺

经理极力要求你赶上最后期限时。你应该坚持你的预估,不要盲目冲刺。那样会出很多问题,并使整个项目都变得缓慢。

加班加点

多工作的20%时间并不能完成20%的工作。如果连续加班3个星期加班措施必将失败。

你个人能力挤出这个时间,短期加班,最多两周,老板有后备预案。如果有后备那就加班吧。

交付失误

程序员最不专业的表现是,明知道还没有完成任务去宣告完成。

定义”完成“

最好是有个自动化的验收测试

帮助

编程并非易事。需要他人的思想。

帮助他人

相互帮助是每个程序员的职责所在。

接受他人的帮助

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

要学会请求帮助。如果帮助唾手可得而不请求帮助是很专业的表现。

辅导

向资深导师寻求辅导也是年轻程序员的专业职责。

除了自身的内驱动力和资深导师的有效辅导之外,没有东西能将一名年轻的开发人员提升为敏捷高效的专业人士。花时间手把手的辅导年轻程序员是资深程序员的专业职责所在。

(要想升级快全靠师傅带,没师傅的只能靠内驱动力了,找到驱动力)

概念:

测试驱动开发(Test-driven development)是现代计算机软件开发方法的一种。利用测试来驱动软件程序的设计和实现。测试驱动开始流行于20世纪90年代。测试驱动开发是极限编程中倡导的程序开发方法,方法主要是先写测试程序,然后再编码使其通过测试。测试驱动开发的目的是取得快速反馈并使用“illustrate the main line”方法来构建程序。

测试驱动开发的比喻。开发可以从两个方面去看待:实现的功能和质量。测试驱动开发更像两顶帽子思考法的开发方式,先戴上实现功能的帽子,在测试的辅助下,快速实现正确的功能;再戴上重构的帽子,在测试的保护下,通过去除冗余和重复的代码,提高代码重用性,实现对质量的改进。可见测试在测试驱动开发中确实属于核心地位,贯穿了开发的始终。

TDD 参考文章:

  1. 测试驱动开发
  2. TDD并不是看上去的那么美

转载于:https://my.oschina.net/startphp/blog/102597

程序员的职业素养---编码相关推荐

  1. 【必读推荐】程序员的职业素养

    整理了一下<代码整洁之道–程序员的职业素养>中一些受益匪浅的观点.这本书讲的并非是对技术的指导,而是程序员应该掌握的软技能,实际上它适合任何行业的人阅读,相信读完这本书也都能收获一些启发. ...

  2. 从插图看《代码整洁之道——程序员的职业素养》

    <代码整洁之道--程序员的职业素养>是<代码整洁之道>的作者Bob大叔的第二部作品,笔者读完2016年再版的本书后有感而发写下本文,本书2012年的版本叫<程序员的职业素 ...

  3. 《程序员的职业素养》——总结

    <程序员的职业素养>--总结 前言 在Bob大叔的整本书中,重点传达了一种精神,就是专业精神.解释出来会有很多种精神,但是我觉得概括下来,就是工匠精神,就是责任感.要对项目负责,对代码负责 ...

  4. 程序员的职业素养_心得体会

    <程序员的职业素养>--总结 前言 在Bob大叔的整本书中,重点传达了一种精神,就是专业精神.解释出来会有很多种精神,但是我觉得概括下来,就是工匠精神,就是责任感.要对项目负责,对代码负责 ...

  5. 代码整洁之道:程序员的职业素养 读书笔记

    代码整洁之道:程序员的职业素养 作者:(美)罗伯特 C. 马丁(Robert C. Martin) 译者:余晟,章显洲 这是一本风趣幽默的关于程序员的故事书,这本书让我在专业技术之外,了解了更多程序员 ...

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

    读书笔记-程序员的职业素养 读书笔记-程序员的职业素养 序 前言 引言 第一章 专业主义 第二章 说不 第三章 说"是" 第四章 编码 第五章 测试驱动开发 第六章 练习 第七章 ...

  7. 程序员的职业素养:向世界宣告“我是专业人士”

    点击关注 异步图书,置顶公众号 每天与你分享 IT好书 技术干货 职场知识 Tips参与文末话题讨论,即有机会获得异步图书一本. "噢,笑吧,科廷,老伙计.这是上帝,或者也可以说是命运或自然 ...

  8. 《代码整洁之道 - 程序员的职业素养》读书笔记

    一 前言   <代码整洁之道 - 程序员的职业素养>的作者是Robert C. Martin,大家喜欢喊他Bob大叔.这本书主要是Bob大叔40年编程生涯的心得体会,主要讲述了一个专业的程 ...

  9. 不能跳过的《程序员的职业素养》(The Clean Coder)中的一个章节

    我猜,你之所以拿起这本书,因为你是程序员,"职业素养"这个说法吸引了你.你应该如此.我们这种专业人士迫切渴求的,正是"职业素养". 我也是程序员.我编了42年 ...

最新文章

  1. linux out of memory分析(OOM)
  2. iOS 性能优化-启动优化、main函数之前优化-二进制重排
  3. 浅谈错排公式的推导及应用
  4. java 中的printStackTrace()方法
  5. h5现实手机管理系统_webflash,后台管理系统
  6. 23-初识正则表达式
  7. less中的for循环
  8. React中的方法调用
  9. 使用Arquillian(远程)测试OpenLiberty
  10. C++基础知识(二)—— 变量和数据类型
  11. 披荆斩棘的北森,乘风破浪的HR SaaS
  12. HTML5的新特性(1) -pattern
  13. L3-029 还原文件 (30 分)-PAT 团体程序设计天梯赛 GPLT
  14. mysql 库存预警_仓库管理中如何实现库存预警
  15. Windows核心编程_修改U盘图标
  16. linux设置定时重启任务
  17. 怎么在win7上安装AIR780E的USB驱动
  18. 音频格式怎么转换成mp3格式?
  19. 本地数据库迁移至服务器数据库的教程
  20. 驾考系统C#winform驾照考试系统

热门文章

  1. 计算机网络TCP与UDP的区别
  2. 虚拟机上安装Linux时出现的问题及解决方法
  3. AJAX Control Toolkit ——FilteredTextBoxExtender(文本过滤)
  4. The request was rejected by the HTTP filter
  5. 通过ODBC连接Oracle
  6. LeetCode每日一题: 搜索插入位置(No.35)
  7. 小技巧:Go怎么样获取常驻内存子进程的输出
  8. redis 配置以及缓存(javaconfig)
  9. mysql中不能update与safe update mode 有关
  10. [c#] const 与 readonly