《代码整洁之道》 程序员的职业素养 (Robert C. Martain)第二版

专业主义

专业主义意味着责任与义务。首先,不行损害之事,避免破坏软件的功能与架构。让QA找不出任何问题,确信代码正常运行,不要破坏结构。

了解你的领域:每个专业软件开发人员必须精通的事项:设计模式:能描述GOF书中的24中设计模式,要有POSA书中的多数模式的实战经验;设计原则:必须了解SOLID原则,深刻理解组件设计原则;方法:理解XP,Scrum,精益,看板,瀑布,结构化分析和结构化设计等;实践:掌握测试驱动开发、面向对象设计、结构化编程、持续集成和结对编程;工件:掌握使用UML图、DFD图、结构图、Petri图、状态迁移图表、流程图和决策表。

坚持学习,不断练习。与他人合作。

说不

牺牲专业原则以求全,并非问题解决之道。舍弃这些原则,只会制造出更多的麻烦。

说是

专业人士不需要对所有请求都回答是。不过他们应该努力寻找创新的方法买尽可能做到有求必应。当专业人士给出肯定回答时,会使用正式的承诺,以确保各方能明白无误地理解承诺内容。

编码

首先要做好准备。1)代码必须能够正常工作;2)代码必须能帮你解决客户提出的问题;3)代码必须要和现有系统结合地天衣无缝;4)其他程序员必须能读懂你的代码。

如果感到疲劳,千万不要编码,强而为之,最终只能回头返工,避免进入“流态区”(自我感觉效率极高,但理性思考的能力下降)。结对编程能够帮助改善阻塞状态。

测试驱动开发

GOTO有害。TDD(测试驱动开发)确实可行。TDD测试代码和产品代码相互补充,同步增长。

TDD三项法则:在编好失败单元测试之前,不要编写任何产品代码;只要有一个单元测试失败了,就不要再编写测试代码,无法通过编译也是一种失败情况;产品代码恰好能够让当前单元测试成功通过即可,不要多写。

练习

编程柔道场:一群程序员聚在一起练习

卡塔:逐步练习以达到纯熟。练习不是在解决真正的问题,因为你已经知道了解决方案,而是在练习解决问题所需要的动作和决策,有利于在潜意识中构建通用问题和解决方案之间的联系。

验收测试

开发人员既要做好开发,也要做好沟通。要解决开发方和业务方沟通问题,可以编写自动化验收测试。本章定义验收测试为开发方和业务方合作编写的测试,目的在于确定需求已经完成。

测试策略

自动化测试金字塔自底向上:单元测试、组件测试,集成测试,系统测试,人工探索式测试。

时间管理

会议是必须的,但浪费了大量时间。—>立会:站立会议:每个人发言不超过一分钟(昨天做了什么,今天打算做什么,遇到了什么问题);  迭代计划会议:选择在下一轮迭代中实现的开发任务,应该简明扼要。

注意力点数。时间拆分和番茄工作法。避免优先级错乱、死胡同和泥潭。

预估

业务方觉得预估是承诺,开发方认为预估是猜测。

计划评审技术PERT可以帮助计算预估—>三元分析法:乐观预估,标称预估(概率最大的数字),悲观预估。

预估任务:亮手指;规划扑克;德菲尔法。

控制预估错误的方法—大数定律:将大任务差分成小任务,分别预估再求和。

压力

要避免压力:在压力下保持冷静,规避压力,可以降低压力,缩短高压力期的时间。

保持整洁:让系统、代码和实际尽可能整洁,可以避免压力。

结对编程、寻求帮助、及时沟通可以减轻压力。

协作

编程意味着与人合作,结对,一定要学会交流。

团队与项目

形成有有凝聚力的团队需要时间。专业的开发组织会把项目分给已经形成凝聚力的团队,而不会围绕项目来组建团队。

组建稳健的团队,让团队在多个项目中整体移动共同工作是较好的做法。

转载于:https://www.cnblogs.com/baimt/p/9814719.html

《代码整洁之道》--读书笔记相关推荐

  1. 读书笔记 | 墨菲定律

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  2. 读书笔记 | 墨菲定律(一)

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  3. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记

    <洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...

  4. 股神大家了解多少?深度剖析股神巴菲特

    股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...

  5. 2014巴菲特股东大会及巴菲特创业分享

     沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...

  6. 《成为沃伦·巴菲特》笔记与感想

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...

  7. 读书笔记002:托尼.巴赞之快速阅读

    读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...

  8. 读书笔记001:托尼.巴赞之开动大脑

    读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...

  9. 读书笔记003:托尼.巴赞之思维导图

    读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...

  10. 产品读书《滚雪球:巴菲特和他的财富人生》

    作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...

最新文章

  1. 大数据的“近因偏差”烦恼
  2. Android 数据存储 Room
  3. Android 操作SQLite基本用法
  4. CentOS上修改用户名
  5. 【原创 深度学习与TensorFlow 动手实践系列 - 2】第二课:传统神经网络
  6. nssl1338-逃亡路径【最短路计数,bfs】
  7. VS2008下最新X264(svn 2009.9)编译不过的解决办法
  8. 【luogu P5022 旅行】 题解
  9. zabbix巡检脚本
  10. 五.开发记录之ubuntu系统安装各个软件
  11. document.execCommand() 命令详解 只支持IE
  12. vue—点击换一批就更换一批内容_Vue.js点击切换按钮改变内容的实例讲解
  13. 软件项目管理工具介绍
  14. mysql条件触发器实例_mysql 触发器实例
  15. cookie获取失败(时间差导致的cookie失效)
  16. 使用linux宝塔面板安装 魔方IDC管理系统 免费
  17. Python程序设计
  18. Win7 您需要Trustedinstaller 提供的权限才能对此文件夹进行更改
  19. 好汉歌计算机音乐,好汉歌歌曲赏析
  20. html导航页面滚动,可通过导航视图精确滚动页面内容的js插件

热门文章

  1. Sun jdk, Openjdk, Icedtea jdk关系
  2. git用户名和密码保存文件_GitHub 本地保存用户名和密码方法
  3. 读书笔记(一):双脑记
  4. 500元大洋学习SEO
  5. 为什么亚马逊无货源是国际电商新时代
  6. 键盘上F1到F12按钮各自的功能定位_-Chaz-_新浪博客
  7. 【贪玩巴斯】理工类科技检索(三)——「科技检索中的课题主题分析与例题全解」
  8. Android Root
  9. 2022年强网杯rcefile wp
  10. linux把m4s格式转换mp4,m4s格式(B站m4s怎么转换成MP4)