IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 代码整洁之道:程序员的自我修养 阅读笔记 -> 正文阅读

[开发测试]代码整洁之道:程序员的自我修养 阅读笔记

系列文章目录


前言

这里开始记录Bob大叔《代码整洁之道:程序员自我修养》第一章 专业主义,个人比较感兴趣的内容,分享给大家。


1.1 清楚自己要什么

“专业主义”不但象征着荣誉与骄傲,而且意味着责任与义务

非专业人士不需要为自己所做的工作负责,他们大可把责任推给雇主。

专业人士如果犯了错,只能自己收拾残局。

专业人士的脊髓就在于将公司利益视为个人利益。

“专业主义”意味着担当责任

1.2 担当责任

Bob大叔曾因为不负责任尝尽苦头,所以明白尽职尽责的重要意义。

Bob大叔为了按时交付软件,没有测试例行程序,结果程序重大bug,被客户投诉,造成不必要的损失,尤其是公司信誉方面的损失。

Bob大叔经过反省,意识到没有对例行程序进行测试就交付软件是不负责任的。

(这就告诉我们,不能为了赶进度而提交不负责任的代码,即没有测试完全的代码,存在已知bug的代码)

1.3 首先,不行损害之事

1.3.1 不要破坏软件功能

要做的专业,就不能留下bug。

软件开发太复杂,不可能没什么bug,这是我们的想法。

人体复杂了,不可能尽知其全部,但医生仍要发誓不伤害病人。

Bob大叔告诉我们,要对自己的不完美负责。

没人能写出完美的软件,但这并不表示我们不用对不完美负责。

专业人士,就是能对自己犯下的错误负责的人,哪怕那些错误实际上在所难免。

失误率永远不可能等于零,但我们有责任让它无限接近零。

1. 让QA找不出任何问题

发布软件时,我们应该明确保证QA找不出任何问题。

什么样的代码是有缺陷的呢?那些我们没有代码的都是!

QA发现bug后,要准备好道歉,然后反思那些bug是怎么逃过我们注意的,想办法防止它再次出现

2. 要确信代码正常运行

要实行自动化测试,写一些随时都能运行的单元测试,然后尽可能多地执行这些测试。

Bob要求进行百分百测试覆盖,即我们写的每一行代码都要测试。

设计易于测试的代码,最好先写测试,再写要测的代码

测试驱动开发(TDD)

1.3.2 不要破坏结构

聪明人不会为了发布新功能而破坏结构。

所有软件项目的根本指导原则:软件要易于修改

让修改不必花太高代价就可以完成。

如果你希望自己的软件灵活可变,那就应该视场修改它。

要想证明软件易于修改,唯一的办法就是做些实际的修改。

该在什么时候做些简单的小修改呢?随时!关注哪个模块,就对它做点简单的修改来改进结构。每次通读代码的时候,也可以不时调整一下结构。

让软件保持固定不变才是危险的!如果一直不重构代码,等到最后不得不重构时,就会发现代码已经“僵化了”。

如果你有一套覆盖了全部代码的自动化测试,如果那套测试可以随时快速执行,那么你根本不会害怕修改代码。怎样才能证明你不怕修改代码呢?那就是,你一直在该。

对待代码,就如同雕塑家对待泥巴那样,要对它进行不断的变形与塑造。

1.4 职业道德

用一周工作40小时的美国标准来做参照,这40小时应该用来解决雇主的问题,而不是你自己的问题。

您应该计划每周工作60小时。前40小时是给雇主的,后20小时是给自己的,应该看书、练习、学习或者其他能提升职业能力的事情。

1.4.1 了解你的领域

每个专业软件开发人员必须精通的事项:

  1. 设计模式。
  2. 设计原则。
  3. 方法。
  4. 实践。
  5. 工件。

1.4.2 坚持学习

读书,看相关文章,关注博客和微博,参加技术大会,访问用户群,多参与读书与学习小组。不懂就学,不要畏难。

1.4.3 练习

练习,指的是在日常工作之余专门练习技能,以期自我提升。

1.4.4 合作

与他人一起编程、一起练习、一起设计、一起计划、可以从彼此身上学到很多东西,能在更短时间内更高质量完成更多工作。

1.4.5 辅导

想迅速牢固掌握某些事实和观念,最好的办法就是与你负责指导的人交流这些内容。这样,传道受业的同时,导师也会从中受益。

1.4.6 了解业务领域

你应该对这一领域有所了解,能辨别、质疑规格说明书中的错误。

1.4.7 与雇主/客户保持一致

每次开发系统,应该站在雇主的角度来思考,确保开发的功能能真正满足雇主的需要。

1.4.8 谦逊

在发现自己成为笑柄时,专业人士会第一个发笑。

专业人士不会因别人犯错就对之横加贬损,因为他知道,自己有可能就是下一个犯错的人。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:31:40  更:2021-08-09 10:32:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 20:29:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码