Questions tagged «errors»

9
我更改了一种方法签名,现在有25,000多个错误。现在怎么办?
我最近开始了新工作,正在处理一个非常大的应用程序(15M loc)。在我之前的工作中,我们有一个类似的大型应用程序,但是(不管是好是坏)我们使用OSGi,这意味着该应用程序被分解为许多微服务,这些微服务可以独立地更改,编译和部署。新的应用程序只是一个大型代码库,可能包含几个.dll。 所以我需要更改此类的界面,因为这是老板要求我执行的操作。最初,他们在编写时就采用了一些假设,但并不能很好地概括其概论,并且有一段时间以来,他们一直在避免重构问题,因为它是如此紧密地耦合在一起。我更改了界面,现在有25000多个错误。有些错误是在具有重要发音的类(如“ XYZPriceCalculator”)中重新产生的不应该打破。但是在解决所有错误之前,我无法启动应用程序来检查其是否正常运行。而且许多单元测试要么直接引用该接口,要么耦合到引用该接口的基类,因此,仅对其进行修复本身就是一项巨大的任务。另外,我真的不知道所有这些部分是如何组合在一起的,因此即使我可以开始学习,但我真的不知道如果事情破裂了会是什么样。 在上一份工作中,我从未真正遇到过这样的问题。我该怎么办?

5
吃豆人游戏中的“ 256级错误”可以被视为未处理的段错误吗?
我试图向某人解释分段错误,并且我正在考虑吃豆子中的256级杀伤屏幕,整数溢出是如何触发的,以及该行为与分段中经常描述的“未知状态”有多相似故障。 我想说的是这是我所谓的“未处理的段错误”的一个很好的例子,但是在我可能散布错误信息之前,我宁愿先获得第二意见。 我尝试查找它,但我得到的只是有关错误本身的文档,以及Hipster Whale和Namco之间的协作。 因此,您是否认为Pacman级别256中的行为是未处理的细分违规的示例?
51 memory  errors 


13
C ++中最差的做法,常见错误[关闭]
在阅读了Linus Torvalds的这本著名的文章之后,我想知道C ++程序员的真正陷阱是什么。我明确不是在这个问题及其答案中提及错别字或不良的程序流,而是指编译器未检测到的更高级错误,这些错误不会在首次运行时导致明显的错误,完整的设计错误,在C中不可能实现的事情,但是可能由不了解其代码的全部含义的新手在C ++中完成。 我也欢迎回答指出通常不会出现的巨大性能下降。我的一位教授曾经告诉我有关我编写的LR(1)解析器生成器的示例: 您使用了太多不必要的继承和虚拟性实例。继承使设计更加复杂(由于RTTI(运行时类型推断)子系统,因此效率低下),因此仅应在有意义的地方使用它,例如,用于解析表中的操作。因为您大量使用模板,所以实际上不需要继承。”

6
成千上万的错误!
我最近被分配到一个新项目。好吧,实际上是一个用经典ASP编写的旧项目。现在,该应用程序的新版本正在最新的ASP.NET中编写,但预计不会在一段时间内成为RTM(估计发布日期为2017年1月),因此我必须对旧应用程序执行一些维护,直到可以丢弃。 另外,我有一种感觉,不是所有客户都会立即切换到新程序,因此该版本可能会出现一段时间。 问题是,它充满了错误。它的一部分可以追溯到上个世纪,当时还没有Web标准,而且我不太介意Quirks模式,width并且height属性而不是CSS,用于布局的表格,框架集等,但是哦,所有这些错误!width="20px"在所有onchange="javascript:..."使用css的地方,style="width:20"并且style="width=20px"很常见。更不用说有矛盾width和style属性的地方。等等。 因此,Web应用程序仅在IE下运行,并且仅在兼容模式下运行。显然,开发人员从来没有考虑过代码有效性,只有结果看起来像他们所想的那样。 而且我不知道该如何处理。在查找代码中的其他错误时,我发现无法对那些错误闭目。 我当然可以进行全局查找和替换,以解决大部分问题,但这意味着我的第一次提交将包含成千上万个已更改的.asp文件。我可以那样做吗?

10
我的团队如何在重构后避免频繁的错误?
为您提供一些背景知识:我在一家大约有十二名Ruby on Rails开发人员(+/-实习生)的公司工作。远程工作很普遍。我们的产品由两部分组成:一个相当肥大的核心,然后精简到以此为基础的大客户项目。客户项目通常会扩展核心。不会覆盖关键功能。我可能还会补充说,核心中有一些非常糟糕的部分,这些部分迫切需要重构。有规格,但主要针对客户项目。核心的最差部分未经测试(不是应该的……)。 开发人员分为两个团队,每个sprint使用一个或两个PO。通常,一个客户项目严格与团队和PO之一相关联。 现在我们的问题是:我们经常破坏彼此的东西。A团队的某人扩展或重构了核心功能Y,从而为B团队的一个客户项目造成了意外错误。通常,更改不会在团队中宣布,因此这些错误几乎总是无法预料的。包括PO在内的B团队认为功能Y是稳定的,并且在发布之前未对其进行测试,并且没有意识到更改。 如何摆脱那些问题?您可以推荐我什么样的“公告技术”?

11
如何教您的用户/客户发送更好的错误描述
我经常不得不与正在报告应用程序错误的客户或用户打交道。大多数情况下,它们的内容是无用的 错误!!! x不起作用 没有更多的信息。 为了解决问题,我必须要求它们的每个细节,这通常比解决问题本身要耗费更多时间。其他人以不理想的格式发送信息,例如(数据记录的快照,而不是错误的)屏幕截图,尽管它们可以发送链接(我们可以访问系统),等等。 您如何告诉用户/客户更详细地描述问题,从而使双方的整个过程都更加容易? 编辑 这个问题更多的是关于社交技巧,而不是如何以编程方式收集日志和错误信息。我知道以下事实:这应该是好的软件设计的一部分。

8
在Java中,检查异常有什么用处?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 多年来,Java的受检查异常受到了一些负面报道。一个明显的迹象是,它实际上是世界上唯一拥有它们的语言(甚至不是其他JVM语言,例如Groovy和Scala)。诸如Spring和Hibernate之类的著名Java库也不使用它们。 我个人已经发现了它们的一种用途(在层之间的业务逻辑中),但除此之外,我还是非常反对检查的异常。 还有其他我没有意识到的用途吗?

6
管理异常的错误日志记录的最佳方法是什么?
介绍 如果网站或系统上发生错误,则将其记录下来并向用户显示带有错误代码的礼貌消息当然是有用的。 而且,如果您有许多系统,则不希望散布这些信息-最好有一个集中的位置。 在最简单的级别上,所需要做的就是增加ID和错误详细信息的序列化转储。(可能的“集中位置”是电子邮件收件箱。) 另一方面,也许是一个完全规范化的数据库,该数据库还允许您按下按钮并查看每天的错误图,或者确定系统X上最常见的错误类型是服务器A是否拥有更多的数据库。服务器B的连接错误,等等。 我在这里指的是通过远程系统记录代码级错误/异常- 而不是 “基于人的”问题跟踪,例如使用Jira,Trac等进行的跟踪。 问题 我正在寻找使用过这种系统的开发人员的想法,特别是关于以下方面的想法: 您不能没有哪些基本功能? 真正节省您时间的功能有什么好处? 哪些功能似乎是个好主意,但实际上没有用吗? 例如,我想说一个“显示重复项”功能很重要,它可以识别多次出现的错误(而不必担心可能会有所不同的“不重要”细节)。 用于“在[Jira / etc]中为此错误创建问题”的按钮听起来像是节省了时间。 再次重申一下,我所追求的是使用过此类系统的人们的实践经验,最好是对功能令人敬畏/可怕的原因进行备份。 (无论如何,如果要进行理论化,至少要这样标出答案。)

2
鲁棒性和容错能力有什么区别?
系统/程序/分布式算法/ ...通常以谓词鲁棒或容错来描述。 有什么区别? 细节: 当我用Google搜索+健壮的+“容错”功能时,我只有两次点击,都无济于事。 当我用谷歌搜索术语时,我发现很多论文的标题中都有两个术语。不幸的是,它们并没有精确地定义术语:(但是由于它们同时使用了这两个术语,因此似乎没有一个暗示另一个。

2
编译器应如何报告错误和警告?
我不打算在不久的将来编写编译器。仍然,我对编译器技术以及如何改进这些东西很感兴趣。 从编译语言开始,大多数编译器有两个错误级别:警告和错误,第一个是大多数情况下应修复的非致命性错误,以及表示大多数时间无法生成机器(或字节)的错误。输入的代码。 虽然,这是一个很弱的定义。在某些语言(例如Java)中,如果不使用该@SuppressWarning指令,就无法消除某些警告。而且,Java将某些非致命性问题视为错误(例如,由于我想知道的原因,Java中无法访问的代码会触发错误)。 C#没有相同的问题,但是确实有一些问题。似乎编译是在多个过程中进行的,并且过程失败会阻止进一步的过程继续执行。因此,通常会严重低估构建失败时获得的错误计数。在一次运行中,它可能表明您有两个错误,但是一旦解决它们,您可能会得到26个新错误。 深入研究C和C ++只是显示了Java和C#的编译诊断弱点的不良组合(尽管说Java和C#只是解决了一半的问题可能更准确)。有些警告确实应该是错误的(例如,当并非所有代码路径都返回一个值时),但它们仍然是警告,因为我想,当他们编写标准时,编译器技术还不足以使它们成为此类错误。强制检查。同样,编译器经常检查的内容超出标准所规定的范围,但仍将“标准”警告错误级别用于其他发现。通常,编译器不会立即报告他们可能发现的所有错误;可能需要一些编译才能删除所有这些编译器。更不用说C ++编译器喜欢吐出的隐秘错误, 现在添加了许多构建系统,它们可配置为在编译器发出警告时报告失败,我们只是得到了一个奇怪的组合:并非所有错误都是致命的,但有些警告应该;并非所有警告都是应有的,但有些警告已被明确地压制而没有进一步提及它们的存在;有时所有警告都会变成错误。 非编译语言仍然有糟糕的错误报告。在实际运行代码之前,不会报告Python中的Typos,而且您一次也不会真正引发多个错误,因为脚本在遇到一个错误后便会停止执行。 PHP本身具有许多或多或少的重要错误级别和异常。解析错误一次报告一次,警告通常非常严重,以至于中止您的脚本(但默认情况下不是),通知确实经常显示出严重的逻辑问题,某些错误确实还不足以阻止您的脚本,但仍然这样做,并且像往常一样,在PHP中还有一些很奇怪的东西(为什么我们要为不是真正致命的致命错误需要一个错误级别?E_RECOVERABLE_E_ERROR,我是在和您聊天)。 在我看来,我能想到的编译器错误报告的每个实现都被破坏了。真是太遗憾了,因为所有优秀的程序员都坚持认为正确处理错误非常重要,但却无法获得自己的工具来这样做。 您认为什么是报告编译器错误的正确方法?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.