热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

grpc错误应该是什么错误_您应该如何估计错误?

grpc错误应该是什么错误全世界的团队为此花费了无数的时间进行辩论。但是真的,你应该吗?没有人可以为您回答这个问题,但是无论如何ÿ

grpc错误应该是什么错误

全世界的团队为此花费了无数的时间进行辩论。 但是真的,你应该吗?

没有人可以为您回答这个问题,但是无论如何,让我们提出问题并准备一些有争议的评论。 那么,我们首先有哪些估算选项?

专门的错误修复时间

有些团队没有预先估计错误,而是仅在每个冲刺/天/周/月为每个月留出一些时间来修复错误。 这并不意味着他们从不估计错误。 如果在初步调查后发现它是一个更大的解决方案,或者需要更改产品的性能,他们仍然会对其进行估算,但是最有可能将其几乎像一个功能一样对待,如果需要,可以通过规范,设计,开发,测试,发布的完整过程。

默认估算

进行错误评估的另一种方法是对每个错误使用一些占位符,例如0.5–1天。 这个想法实际上来自Scrum的创始人之一Jeff Sutherland。 这些占位符可能非常精确,因为大多数错误都不需要花费一天多的时间来解决-Steve McConnell在他的书(现在相当老)中,Code Complete提到85%的错误需要不到几个小时的时间来解决。

我们还看到某些团队将其发挥到极致并以这种方式对待所有门票。 其背后的原因是,在足够长的一段时间内,不仅事情平均了,而且人们学会了更好地合作,并且所创建的票证大致相同。

无论您是否也想仅针对错误或功能使用此技术,都可以从0.5天的占位符开始,并随着获得更多有关开发人员解决问题实际需要多长时间的数据而对其进行调整。 回顾是保持追踪的好方法。

如果您想更进一步,并获得更详尽的估计,则可以按类型划分错误,例如,编码错误,设计错误,数据库,业务逻辑,状态机等。这样,您就可以在每个位置使用不同的占位符分别键入和迭代它们。

您拥有的数据越多,获得的估计就越好,这将我们带入下一个方法。

用历史数据估算

如果您有足够的数据,可以通过估算来完成一些很酷的事情-比按类型拆分问题和分配单个占位符的粒度要大得多,就像我们在前面的示例中看到的那样。 您可以创建一个更上下文相关的系统,该系统将使用问题跟踪器(Jira,Trello等)中的历史数据来预测使用机器学习,自然语言处理和其他方法进行某种修复所需的时间。

实际上,早在2007年就进行了一组研究。 他们想出了一个系统,可以自动预测修复工作。 在有足够数量的问题报告的情况下,他们对错误的自动预测仅用了一个小时,就比人工预测高出四倍。 您可以在此处了解更多信息。

没有估计

我们将要谈到的最后一个思想流派认为,既然您无法找到问题的根源就无法估计修复错误所需的时间,并且大部分时间都花在了解决这个问题上,估计是没有意义的。

那么您应该估计错误吗?

不幸的是,这里没有“千篇一律”的解决方案,这不会阻止我们试图回答这个问题。

在决定是否估计错误以及是否估计错误,使用哪种方法方面,有许多因素会影响您的决定。 举个例子:一家银行的处理方式与社交网络不同,一个公司或国家/地区的文化和动机可能影响决策,甚至利益相关者也很重要。如果您有一个项目经理,如果没有估计就无法生存,那可能是有道理的只是与之并驾齐驱,并拥有良好的团队氛围,而不是不断地为估算而战。

对您是否应该估计错误的最大影响是团队和公司的规模,因为这两个因素会影响很多其他因素,因此让我们看一下几个不同的设置以及您可能想要做的事情在每种情况下。

独奏创始人

您正在构建小型产品或仅是个人项目。 彼此之间没有依赖关系,精确的计划并不是真正必要的,因为您知道进度可以快得多,下一步需要做什么。

解决方案 :您可能没有对功能进行形式上的估计,因此也无需估计错误。 只需专注于输出并在那里获得代码!

小公司

您有一个5-10人的开发团队,而没有其他工程团队依赖它。 您正在计划冲刺和跟踪速度,以大致了解您的进度如何。 有些错误是由内部人员捕获的,而有些则是由用户报告的。

解决方案 :为了更好地计划Sprint的容量,您应该对错误进行半天的默认估计(除非您拥有有关特定缺陷的更多信息并且可以更准确地估计),而且-不要计划100%的容量对于sprint,请留一些缓冲-这将使您能够:a)准备一些错误修复所需的时间更长,更重要的是b)随时准备快速修复重要的不可预见的bug,而又不牺牲sprint目标。

之前,我们已经构建了一些早期产品,随着时间的流逝,我们开始进行此设置。 当产品是新产品时,您没有太多的历史数据可作为决策依据,也没有真正合适的质量保证团队,因此您需要保持敏捷并准备好应对眼前的需求,同时仍然保持指导和沟通您对其他团队的目标和进度(销售,市场营销等)。 此设置还有助于建立良好的客户关系,因为当您能够在报告后立即解决问题时,总是会给用户留下深刻的印象。

当然,您在产品上工作的时间越长,您估计的能力就越好。 特别是如果您按类型(即后端,前端等)划分错误,那么默认估计值将不断提高。

大公司

您有几个开发团队,至少其中一些相互依赖。 您拥有手动的质量检查和质量检查工程师,但是直接与用户交谈的能力非常有限。 存在许多利益相关者和多层管理,您需要与他们沟通目标,因此,您确实需要确保兑现承诺。 通常,您更关心软件的可靠性和开发输出的可预测性,而不是速度和敏捷性。

解决方案 :估计所有可能的错误。 至少从有根据的猜测开始,但尝试使用历史数据进行更好的预测。 在大型组织中,建立这种预测模型的工作不会白费力气—其他团队将使用它,如果运行良好,它将节省计划会议的时间,但也可以使速度更加可预测,您的管理层将不胜感激。

总结一下

-在许多情况下,至少一名工程师确切地知道错误的根源以及确切的修复方法。 没有理由不进行估算。 另一方面,某些错误是完全模糊且不可预测的。 假装我们知道这些修复需要多长时间是不明智的。 在这种情况下,请使用默认估算,或者完全不估算。

-错误的评估在许多情况下要比没有评估要好,尤其是因为在很长的一段时间内,评估的平均值可能非常接近修复错误的平均时间。 不要害怕错了,只需要确保团队中的每个人都明白估计不是最后期限。 它适用于功能,但更适用于错误。

-有时高估有时低估是可以的,但如果始终低估,则应该进行一些调整。

-不幸的是没有银弹。 上面描述的内容对我们来说只是一个不错的设置,但是每个团队都需要找到一种在特定情况下最有效的方法。 不过,它不一定是上述解决方案之一。 您永远不应遵守给定框架的所有规则-最好找到最适合您的技术组合,甚至提出完全不同的技术,这总是更好的选择。

翻译自: https://hackernoon.com/should-you-estimate-bugs-4ocf37t2

grpc错误应该是什么错误



推荐阅读
  • 2019年斯坦福大学CS224n课程笔记:深度学习在自然语言处理中的应用——Word2Vec与GloVe模型解析
    本文详细解析了2019年斯坦福大学CS224n课程中关于深度学习在自然语言处理(NLP)领域的应用,重点探讨了Word2Vec和GloVe两种词嵌入模型的原理与实现方法。通过具体案例分析,深入阐述了这两种模型在提升NLP任务性能方面的优势与应用场景。 ... [详细]
  • 第三届人工智能、网络与信息技术国际学术会议(AINIT 2022)
    20223rdInternationalSeminaronArtificialIntelligence,NetworkingandInformationTechnology第三届 ... [详细]
  • 全文共3708字,预计学习时长10分钟图源:unsplashPthon之所以能成为世界上最受欢迎的编程语言之一,与其整体及其相关库的生态系 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • VC维在机器学习中的应用与解析
    VC维在机器学习中的应用与解析VC维是指在机器学习中,一个假设空间能够正确分类的最大样本数量。具体而言,如果一个假设空间能够将N个样本以所有可能的 \(2^N\) 种方式完全分开,则称该假设空间具有N的VC维。VC维是衡量模型复杂度的重要指标,对于理解模型的泛化能力和过拟合风险具有重要意义。本文详细探讨了VC维的定义、计算方法及其在机器学习中的应用,并通过实例分析展示了其在模型选择和评估中的关键作用。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 对于Python初学者而言,掌握类的概念及其应用场景是至关重要的。本文详细探讨了类的定义、功能及其实用价值。类作为一种抽象的数据结构,能够有效地模拟现实世界中的对象,通过封装属性和方法,实现代码的复用性和模块化设计。文章结合实例分析,帮助读者深入理解何时以及为何需要定义类,从而提升编程效率和代码质量。 ... [详细]
  • 2018年热门趋势:轻松几步构建高效智能聊天机器人
    2018年,构建高效智能聊天机器人的简易步骤成为行业焦点。作为AI领域的关键应用,聊天机器人不仅被视为企业市场智能化转型的重要工具,也是技术变现的主要途径之一。随着自然语言处理技术的不断进步,越来越多的企业开始重视并投资于这一领域,以期通过聊天机器人提升客户服务体验和运营效率。 ... [详细]
  • python绘制拟合回归散点图_机器学习之利用Python进行简单线性回归分析
    前言:在利用机器学习方法进行数据分析时经常要了解变量的相关性,有时还需要对变量进行回归分析。本文首先对人工智能机器学习深度学习、相关分析因果分析回归分析 ... [详细]
  • 玩转系统|初遇ChatGPT,我和TA的第一次约会
    最近互联网圈子有一个非常火爆的话题ChatGPT,短短一周的时间就有上百万的用户,如果你不是程序员,也许会问这到底是个什么玩意࿱ ... [详细]
  • 了解供应链简单来说,供应链涉及一系列旨在向最终用户提供产品或服务的步骤。企业组织及其供应商之间始终存在一个网络,来生产特定产品并将其交付给最终用户。该网络包括不同的活动、人员、实体 ... [详细]
  • 返回值为Boolean的话回在对象转json的时候丢失掉这个属性,因为json认的是小写。这个算jaxb的一个bug:https:java.netjirabrowseJAXB-51 ... [详细]
  • Hbase1.2.0cdh5.16.2使用PREFIX_TREE编码导致集群压缩队列异常
    Hbase1.X版本中PREFIX_TREE作为BlockEncoding存在bug,会造成RegionServer节点compactionqueue持续升高,甚至影响fl ... [详细]
author-avatar
诚实的坏男2502892343
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有