《代码整洁之道》--读书笔记
《代码整洁之道》 程序员的职业素养 (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. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...
- 读书笔记 | 墨菲定律(一)
1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...
- 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记
<洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...
- 股神大家了解多少?深度剖析股神巴菲特
股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...
- 2014巴菲特股东大会及巴菲特创业分享
沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...
- 《成为沃伦·巴菲特》笔记与感想
本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...
- 读书笔记002:托尼.巴赞之快速阅读
读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...
- 读书笔记001:托尼.巴赞之开动大脑
读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...
- 读书笔记003:托尼.巴赞之思维导图
读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...
- 产品读书《滚雪球:巴菲特和他的财富人生》
作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...
最新文章
- 大数据的“近因偏差”烦恼
- Android 数据存储 Room
- Android 操作SQLite基本用法
- CentOS上修改用户名
- 【原创 深度学习与TensorFlow 动手实践系列 - 2】第二课:传统神经网络
- nssl1338-逃亡路径【最短路计数,bfs】
- VS2008下最新X264(svn 2009.9)编译不过的解决办法
- 【luogu P5022 旅行】 题解
- zabbix巡检脚本
- 五.开发记录之ubuntu系统安装各个软件
- document.execCommand() 命令详解 只支持IE
- vue—点击换一批就更换一批内容_Vue.js点击切换按钮改变内容的实例讲解
- 软件项目管理工具介绍
- mysql条件触发器实例_mysql 触发器实例
- cookie获取失败(时间差导致的cookie失效)
- 使用linux宝塔面板安装 魔方IDC管理系统 免费
- Python程序设计
- Win7 您需要Trustedinstaller 提供的权限才能对此文件夹进行更改
- 好汉歌计算机音乐,好汉歌歌曲赏析
- html导航页面滚动,可通过导航视图精确滚动页面内容的js插件