代码质量与安全 | “吃狗粮”能够影响到代码质量?来了解一下!

news2024/10/7 10:17:39

“dogfooding”是什么?乍一看,这就是“吃狗粮”的意思,但其实这来源于一句俚语:“Eat your own dog food”,直译过来就是“吃自己的狗粮”,常用于描述公司使用自己产品的这一种情况。

“吃自己的狗粮”实践在科技公司内部被广泛使用。其中,Facebook公开的海报里提到了这种实践的好处——让公司不同背景的人参与到产品开发,并且提供不同的视角,而不是仅限于开发人员;给整个组织一次合作的机会,增进团队感情;培养主人翁意识。

阅读本文,您将了解到什么是“吃自己的狗粮”,为什么要“吃自己的狗粮”,以及如何利用这一实践方法提升自己的产品。

作为SonarQube授权合作伙伴,创实信息持续关注代码质量与安全领域的最新动态与实践,为中国用户带来全球范围内的优秀解决方案,帮助企业实现开发安全运营一体化。在这里插入图片描述
当遇到问题时,您需要有一个可以信任的解决方案来帮助您快速解决。但在这个充满了无限选择的世界里(多亏了互联网),人们很难相信那些未经测试和陌生的东西。在寻找正确的解决方案时,您会求助于那些使用过您考虑选项的人,来确保做出正确的选择。然后,您可以通过他们的建议,自信地解决问题。

选择正确的业务解决方案也是如此。您可能更倾向于选择已被推荐公司使用、测试和证明过的产品。在科技领域,这个概念被称为“吃自己的狗粮(dogfooding)”,现在也被翻译为“内部测试”。

“dogfooding”或“吃自己的狗粮”一词最初出现于1970年代的Alpo Dog Food广告中,一位美国著名演员在向观众推荐Alpo狗粮时将Alpo喂了给他自己的狗。在科技界,传说在1988年,微软传奇人物保罗·马里茨利用这一概念挑战他的同事,让他们自己使用公司的产品,以确保他们可以为客户提供价值。

不管它的起源如何,“吃自己的狗粮”能够一直存在,一定是有原因的。通过自己的实际使用来确认产品的真正价值,这是一个不争的事实,Sonar公司也坚信这一点。

如何开始吃自己的狗粮

“吃自己的狗粮”是一种明确地展示出您对自己产品信心的方式,通过每天使用产品来确保它们通过现实场景的测试。但在科技产品方面,它并不像Alpo狗粮那么简单。这台机器中的每个齿轮必须协调工作,以使产品按预期运行。

通过“吃自己的狗粮”,您不仅可以使用您的产品,还可以依赖它们并尽可能地将它们集成到您的开发和生产工作流程中。这将有助于您在最终用户之前预测挑战、把握机遇。但是,如果您的组织还没有这样做,该从哪里开始呢?以下是几条入门原则:

1、确保您有正确的访问权限

如果您都没有权限接触到您的产品,也就无法开始“吃自己的狗粮”。无论测试环境还是现实环境,您都要确保可以像最终用户一样,每天使用该产品。就像您的最终用户将帮助您“站在他们的角度出发”一样,反过来,这也可以帮助您更好地了解他们面临的挑战,以及他们使用您的产品所取得的胜利。

2、建立“为什么”机制

在为产品解决问题或提出创新建议时,首先必须清楚地了解它的重要性、为什么您决定开展这项工作,以及预期的结果。考虑如何将其融入您的产品蓝图中也很重要。

3、循序渐进

您可以选择将事情分解为有意义的小更改,给最终用户带来循序渐进的价值,而不是追着一个大的版本跑。因为当您跳过这些“小步骤”时,您可能会忽略关键的依赖关系,或因为忽略了细节而造成返工。循序渐进有助于缩短迭代、实现现实目标,并最大限度地投资于真正有用的解决方案。

4、创建一个时间框架

通过主动为团队定义一个明确的交付时间框架,您可以将以下的影响降到最低:为了填补时间而承担太多压力,或给sprint阶段预留的时间过少。这样一来,你所承担的功能增量是现实中可以实现的。这有助于团队保持专注,并清楚地了解需要做什么才能满足时间框架。

5、促进反馈循环

反馈是发现你是否在为用户创造价值的关键。最可靠的反馈往往来自最终用户,以及您自己尝试产品的经验。每个团队成员都有责任要求并提供既专业又有效的反馈。只有当团队在给出反馈后调整了它,反馈才是有效的。

当您将代码发布到生产环境并开始使用它时,才是真正的关键时刻。这是测试它是否在现实世界中以预想方式工作的最重要的机会,依旧还是“吃你自己的狗粮”。

Sonar将它付诸于实践

在Sonar,我们每天都会吃“吃自己的狗粮”。我们不仅使用我们的清洁代码产品,还在整个组织中广泛使用这一概念。从网页开发周期到网站,从营销到帮助台,从内部流程到公司文化,我们都在使用它。我们利用像开放论坛这样的工具来引入计划,并自由地持续提供有针对性和建设性的反馈。

“吃自己的狗粮”影响了我们每个团队的运作方式以及产品的发展轨迹。在开发周期中,我们利用相同的清洁代码产品和实践,来交付数以千计的客户每天使用的清洁代码解决方案。这也使我们的核心方法论能够不断加强。

一个能够直接在产品用户界面找到,用来说明“吃自己的狗粮”如何影响我们的真实例子是:我们使用红色和绿色来传达信息,当色盲Sonar员工和UX设计师开始使用产品时,他们很快就发现了需要改进这个可访问性问题,才能满足他们的需求。上述的例子曾经用于内部开发和传播解决方案,现在,这种可访问性已经被集成到了Sonar的设计中,并成为了我们的首要考量。

“吃自己的狗粮”深刻影响了我们提供产品质量的方式。虽然我们更喜欢美味的咖啡而不是Alpo狗粮,但我们将继续“吃自己的狗粮”,提供市场上最好的清洁代码产品。

作者介绍:

在这里插入图片描述
LIZ RYAN

Sonar产品营销经理

文章来源:https://blog.sonarsource.com/eat-your-own-dog-food-or-risk-falling-behind/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/22970.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(更新中)【后端入门到入土!】Java+Servlet+JDBC+SSM+SpringBoot+SpringCloud 基础入门

目录 第一部分:Java 基础语法(已完结) 第二部分:Java 高级(已完结) 第三部分:Servlet(待更新……) 第四部分:JDBC(待更新……) 第…

如何搭建一套指标体系?

一、引言 (1)为什么指标体系这么重要? (2)什么是指标体系? (3)指标体系的衡量标准是什么? (4)如何去搭建一套好好的指标体系? 只要弄清楚了这4个问题,指标体系的搭建工作就迅速地开展、快速地落地,精准地产生业务价值。以上是对于数据同学而言的工作。此外,对于…

漏洞练习环境搭建笔记

Docker 安装(ubuntu) 1.常归删除操作 sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc 2. 删除docker其他没有没有卸载 dpkg -l | grep docker dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P # 删除无…

雷神MixBook Air笔记本系统故障怎么重装?

雷神MixBook Air笔记本系统故障怎么重装?有用户使用的雷神MixBook Air笔记本系统出现了故障,导致无法正常的使用电脑了。这个情况我们可以使用U盘来重装一个系统,恢复正常的使用。那么具体要怎么去进行操作,看看具体的方法吧。 准…

python多维数组切片

1、数组a第0个元素(二维数组)下的所有子元素(一维数组)的第一列 import numpy as np bnp.arange(24) ab.reshape(2,3,4) print a print a[0,:,0] 2、取所有二维数组下的每个二维数组的第0个元素(一维数组) …

会计部门通过数字化工作流程提高生产力

会计部门通过数字化工作流程提高生产力 基于纸张的会计流程令人担忧,在一些企业中,基于纸张的会计流程正在削弱企业的竞争力。 现在,企业高管们比以往任何时候都更想知道哪些技术在数字业务战略中作用最大,在简化会计流程方面&…

机器学习模型评价指标

前文:https://www.cnblogs.com/odesey/p/16902836.html 如果图不能加载,请查看原文:https://www.cnblogs.com/odesey/p/16907351.html 介绍了混淆矩阵。本文旨在说明其他机器学习模型的评价指标。 1. 准确率(Accuracy-Acc&#xf…

企业新闻媒体资源有哪些类型?从哪里找?

互联网时代,人们获取信息的来源主要就是网络。企业想要将自己的品牌或是产品推广出去,互联网宣传是很重要的步骤。 企业新闻媒体发稿推广是打响品牌知名度、做好全网营销的第一步。新闻媒体宣传不仅仅性价比很高,同时持续时间长,…

细说智能家居新标准-Matter,蓝牙在智能家居中发挥的作用

Matter是在连通性标准联盟(CSA)下开发的互操作性协议。其联盟成员包括最大的智能家居技术制造商,如Amazon、Apple、Google、Samsung和其他400多家企业。Matter的通用性和开放性使物联网设备能够安全地连接和交互,无论制造商。例如&#xff0c…

Linux终端上传、下载文件命令 lrzsz

一、什么是lrzsz? lrzsz是一款在linux里可代替ftp上传和下载的程序。 二、为什么要用它? 一般来说我们自然是用不着的,上传下载ftp工具都很方便,前提是你账户拥有最高权限,但如果你不是ROOT,做创建删除上传…

使用 ISAR 数据库提供离线 Flutter 支持

使用 ISAR 数据库提供离线 Flutter 支持 译文 https://medium.com/tkarmakar27112000/flutter-offline-support-using-isar-database-b79f5006d3a 前言 这是我的口头禅,我试图遵循我的 应用 application 。对于那些针对二三线城市的面向客户的应用程序,应…

Model Fusion via Optimal Transport论文阅读+代码解析

论文地址点这里 一. 论文基本介绍 最近2023ICLR中的一篇论文被曝抄袭一事,而进行举报的作者就是本次要将的论文的作者之一,可以发现本篇论文的工作是非常不错的。本篇论文也是第一个从最优运输地角度考虑模型之间地融合技术,通过排列神经元…

Snort搭建以及规则编写

目录 Snort IDS Snort搭建 安装web服务,方便设置sonrt后期访问 Mysql安装 PHP安装 安装 Snort Snort配置 创建snort专用的用户和组 配置目录 配置规则 修改配置文件 规则编写 Snort IDS Snort IDS(入侵检测系统)是一个强大的网…

Airtest自定义启动器支持批量运行脚本,并兼容在AirtestIDE中使用

小编注:上期详细讲了Airtest启动器的原理,以及在最后给出了2个实现方案。本次是第2个方案的另一个实现案例,供大家学习参考。 Python v3.7.0 / Airtest: 1.1.1 / PocoUI: 1.0.78 自定义的启动器主要实现了以下功能: 将一些公共…

浙大医疗健康产业管理MBA提面经验分享

各位潜在的学弟学妹们好,很高兴和各位分享下我参加2022年浙大医疗产业管理MBA的提前批面试经验。在经过材料的撰写提交、面试备考各环节后顺利拿到优秀资格,为后面的笔试备考减轻了很大压力,回忆起去年的面试过程,我的面试以及备考…

沉睡者IT - 为你解密那些卖虚拟资源和知识付费课程的平台到底有多简单和多赚钱。

潜力博主推荐,点击上面关注博主 ↑ ↑ 上图为平台首页面截图,官方总站演示:vip.zzzz.la 备用演示:VIP.网站 1.虚拟资源平台介绍! (1)虚拟资源项目站是一个在线知识付费平台,全自动…

Nacos 中的配置文件如何实现加密传输

小伙伴们知道,Spring Cloud Config 很早就提供了配置文件的加解密功能,并且支持对称加密和非对称加密两种不同的模式。Nacos 作为分布式配置中心服务注册中心的合体,在配置文件加密这块一直差点意思,不过好在,如果你使…

公众号免费搜题系统调用方法

公众号免费搜题系统调用方法 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 查题校园题库:查题校园题库后台&#xf…

SQL Server 服务的启动

目录 前言: 一、进入控制面板 二、开启 SQL Server 服务 1. 找到管理工具并点击 2. 双击服务 3. 找到SQL Server 数据库服务 4. 右键点击 SQL Server 服务,选择启动 三、修改 SQL Server 服务的启动方式 1. 右键点击服务,点击属性 …

激发客户潜在需求

企业不光要看到客户的显现需求,更要挖掘客户的潜在需求,因为客户的潜在需求是可以转化为显现需求的,满足客户的潜在需求可以为企业带来更多经济效益。 前言 潜在需求是指消费者虽然有明确意识的欲望,但由于种种原因还没有明确的显…