美文网首页Android开发工程师V
软件开发中的防呆方法总结

软件开发中的防呆方法总结

作者: 张明云 | 来源:发表于2020-12-08 11:33 被阅读0次

  防呆即减少对人的注意力、能力和经验的依赖,通过设计提炼为模式或方法避免犯错或最大限度地降低犯错概率的发生。生活和工作中随处可见防呆设计的例子:
1、 衣服衣领处的标签可以轻易识别前后和正反,避免穿错的情况发生,即使是没有灯光的情况下;
2、 TypeC接口正反都能插,避免USB式的尴尬;
3、 在电子设备中删除文件时的确认提示,降低文件被误删的概率;
4、 插座插口的安全设计,从根本上解决家长对小孩玩耍时触电的担忧;
5、 IDE中代码语法错误提示、编译时的错误提示、运行时的异常提示,尽量提前暴露问题减少因为错误导致的修复成本;
6、 企业微信可将发信息的快捷键调成Ctrl+Enter,避免按Enter一时爽,按了之后可能不爽的情况,尤其是在群里发言或者和领导沟通时;
7、 自动冲水马桶解决冲不干净或者忘记冲的尴尬;类似的还有自动水龙头、自动冲水小便池等。
  防呆设计给工作和生活带来的好处是显而易见的,举几个没有防呆的例子你就知道防呆有多重要了,比如:
1、 秋冬干燥季节的静电,因为大多场景都没有防呆设计,导致每次触摸带有静电的东西都有些恐惧;
2、 即使是再聪明、心细的人,也有出门忘带手机、钥匙等随身物品的时候。

  因为软件开发的复杂度以及开发人员能力经验参差不齐,在开发过程中开发人员犯错是常有的事情。轻则几乎没有影响,比如大多数代码层面的错误;重则影响项目进度、项目质量甚至是产品口碑,比如流程机制或关键节点方案决策上的错误。不管是个人或团队,犯错不可怕,但一直犯错才可怕。作为团队负责人,有必要基于过往经验和团队实际情况总结提炼出模式或方法,固化下来防呆,避免或降低错误的发生,就像设计模式一样,使用了设计模式就能在一定程度上保证代码的质量。

  结合在实际工作中的实践,分享一下在软件开发过程中的防呆设计。
通过自动化实现流程上的防呆:
  通过将Gitlab、Jenkins和企业微信打通,实现提交代码后即可通过企业微信接收构建错误的结果通知,避免提交代码后忘记构建、或者构建错误没有及时修正的问题。具体做法是通过Gitlab的Webhook实现提交代码自动触发Jenkins项目的构建,通过对企业微信做二次开发,实现Jenkins构建后将构建结果推送到企业微信。更进一步还可以打通自动化测试平台、线上异常采集平台、运维平台和企业微信,实现测试报告、异常报告、运维告警的自动推送。

通过模板化实现规范化和技术方案设计上的防呆:
  团队规范的落地是一件头疼的事情,比如编码、命名、公共技术使用规范:
1、 通过改造IDE中的项目Demo模板,将对公共技术的依赖直接在模板中编写好,就像MFC一样,开发人员通过模板创建项目时自动引入对公共技术的依赖,只需要在这基础上填空或微调即可。
2、 通过编写静态代码检测工具,在Jenkins构建项目时检测文件和编码的命名、版本名和版本号、项目结构是否符合团队规范,只要不符合规范就报错,久而久之让开发人员形成了遵守规范的习惯。
  通过将技术方案设计文档模板化,避免因为人员能力、经验的差异,导致不同人做出来的技术方案质量相差太大、考虑不周全。尤其是需要团队或上级决策的文档,通过模板化可以让你考虑得更为周全,减少对人的依赖。不要指望你没意识到的问题团队其他成员或上级能够发现,他们也是人,并且对项目的理解还没有你深入,总有考虑不周全的情况。

通过CheckList实现项目发布版本时的防呆:
  有本书叫《清单革命》,全书的主题就是讲清单的重要性,尤其是对于复杂的工作,通过梳理清单可以降低对人的依赖,避免或降低错误的发生。在软件版本发布时,也很有必要梳理清单,将每一项需要做的事情作为检查项,形成版本发布的CheckList。比如埋点、自更新、切换正式服务器、专项测试是否通过、依赖最稳定的公共技术组件、修改版本号和版本名等和软件功能不相关但影响发布质量的事项。每次发布版本前必须逐一Check确认CheckList中的每一项,都通过了才允许发布版本,避免了很多影响发布质量问题的出现。

下面是对这篇文章的总结:
1、 防呆能减少对人的注意力、能力和经验的依赖,避免或最大限度降低错误的发生;
2、 通过流程自动化、文档模板化和制定CheckList能很大程度地避免或降低团队在软件开发过程中的错误,提升软件开发质量和效率。

相关文章

  • 软件开发中的防呆方法总结

      防呆即减少对人的注意力、能力和经验的依赖,通过设计提炼为模式或方法避免犯错或最大限度地降低犯错概率的发生。生活...

  • 设计中的防呆

    防呆设计存在于生活中的方方面面,比如我们常见的插座就是经典的防呆设计,,在实际的方案设计中,各个模块之间也需要考略...

  • 【爬虫】爬虫系列一之静态页面的获取

    许久未更,来一篇防呆。本次主要说说使用python语言去抓取静态页面的方法,很基础的东西,总结给自己看 学前准备 ...

  • 设计中的防呆设计

    最近读到设计心理学的再次接触到防呆设计的概念,联系交互设计做一些总结。 防呆设计的定义:是一种预防矫正的行为约束手...

  • 以飞机的seat belt为例,浅析产品防呆设计

    产品防呆设计运用避免产生错误的限制方法,让操作者几乎可以“无脑”的完成正确的操作。运用防呆设计不仅仅能够节约产品成...

  • 防呆防错Poka Yoke

    丰田公司能达到如此效果,防呆防错Poka Yoke起到了举足轻重的作用。 1 防呆法的作用 在作业过程中,作业者不...

  • 软件开发方法总结

    瀑布式开发 增量迭代 迭代开发将一个大任务,分解成多次连续的开发,本质就是逐步改进。开发者先快速发布一个有效但不完...

  • 是否胜任工作看这4点

    端正的工作态度 娴熟的工作技能 防呆的有效方法 良好的精神状态

  • 防呆机制

    当我第一次听说“防呆”这个词的时候,觉得很有趣,它十分精准地描述了一系列措施的目的。 让我来简单解释这个词,那就是...

  • Day13 防呆:防差错设计

    什么是防呆? 防呆(避免错误)是日本丰田生产体系创建人新江滋生发明的。防呆措施之一是添加简单的工具、夹具或设备来限...

网友评论

    本文标题:软件开发中的防呆方法总结

    本文链接:https://www.haomeiwen.com/subject/qsufgktx.html