C# 是否有任何开源项目实现了相同的功能(有例外和无例外)?
我正在写一篇关于使用异常对代码复杂性的影响的论文。如果我有几千个LOC,对相同的功能使用良好的旧错误处理和异常,那就太好了。我甚至不知道从哪里开始谷歌搜索。任何C++、java、C++、D项目都是足够的。我最好的猜测是一个在给定版本中切换到异常的项目。非常感谢您的帮助。考虑到在Java和C中,异常处理对于基本完整的基本库来说都是必不可少的,我对此表示怀疑 Java几乎完全脱离了循环,因为如果没有out参数,您必须求助于非常奇怪的构造(例如,您要么总是返回对象数组,要么实现带有返回值+应返回值的类,…) 在c#中,如果忽略基本库,理论上可以避免使用异常和错误代码,但我仍然怀疑是否有人愿意这样编程。对于这两种语言来说,它只是太多地融入了核心概念 <>你最好的命名语言是C++,但是C++异常与现代的实现相比有很多问题,使用它们真的没有乐趣。你可以四处寻找Python程序,我可以想象有人在毫无例外地编写PythonC# 是否有任何开源项目实现了相同的功能(有例外和无例外)?,c#,java,c++,exception,error-handling,C#,Java,C++,Exception,Error Handling,我正在写一篇关于使用异常对代码复杂性的影响的论文。如果我有几千个LOC,对相同的功能使用良好的旧错误处理和异常,那就太好了。我甚至不知道从哪里开始谷歌搜索。任何C++、java、C++、D项目都是足够的。我最好的猜测是一个在给定版本中切换到异常的项目。非常感谢您的帮助。考虑到在Java和C中,异常处理对于基本完整的基本库来说都是必不可少的,我对此表示怀疑 Java几乎完全脱离了循环,因为如果没有out参数,您必须求助于非常奇怪的构造(例如,您要么总是返回对象数组,要么实现带有返回值+应返回值的类
不管怎样,它是极不可能的(独立于语言;尽管C++可能是唯一一个我可以想象的)来寻找一个从错误代码变成异常处理的项目——毕竟,这将是一个完全的改写。 < p>我不认为你会发现这样的项目,即使某个项目在某个时间切换,它们仍然会有很大的不同,所以你会比较苹果和桔子。这篇论文不应该基于轶事信息、可疑的测试和无根据的结论 你可以从两个角度来探讨这个话题。一个是讨论两种错误处理方法的理论含义,并用三行程序说明这一点。另一种方法是进行一个受控实验,编写一些可能很短(约1000行)的真实场景测试用例并对其进行分析,然后讨论它是否可以在更大的系统上扩展。当然,如果你有时间(至少几年)和金钱(至少几百万美元)雇佣一批经验丰富的开发人员并为他们提供大规模问题,你可以收集一些有价值的统计数据。不确定是否合适,但是:
,C库使用错误代码,而C++的包装器则用异常包括它们。(示例:vs)都是面向对象的。我认为很难找到C#和Java示例,因为它们的基类库都假设使用异常(事实上,不可能从构造函数返回错误代码)。C++和D可能会产生更好的例子……我想最好的解决办法是,如果我提供了一些基于我没有编写的代码的证据。为了说明这一想法,我将使用简短的示例,但在定义了我的度量标准之后,我认为我应该独立于我来检查更大的项目。问题是我不需要它们在两种方法中使用相同的语言,但我怀疑是否有相同的代码,例如,Java和C.GTK绝对是一团混乱,从中我们唯一能学到的就是如何不编写代码。为了提供有意义的比较,必须将精心设计的代码与一组规则进行比较,并将其与精心设计的代码与实现相同功能的另一组规则进行比较。