c# – catch语句与代码行的良好比例
对于大型软件中每个源代码行有多少catch语句,是否有任何经验法则?
例如,在用C#编写的一个软件中,Visual Studio显示大约350行包含单词“catch”,而cloc报告我们有大约160k SLOC,30k注释行和15k空白行.每个catch语句160k / 350大约是467行代码. 但是要考虑到这一点,因为我们在自己的行上使用带有大括号的标准C#格式,所以谁知道有多少行只是160k中的单个大括号,而160k正在计算树中的一些文件没有更长时间编译到应用程序等.我可能会猜测“有用”比率接近每400个LOC的1个捕获量. 至少不要让我感到意外,我们错过了一个半关键的异常,它被一个空的catch块所捕获,所以现在我要通过代码库并至少将异常打印到调试控制台作为临时措施或者在捕获的异常上变得更具体.这当然会增加我们在整个应用程序中捕获的数量,但是它会将我们带到更接近“可接受”区域的位置吗?我不知道每467 LOC是否有1次捕获是好的,只是没关系,或者甚至是可怕的. 我很清楚为什么不使用空的挡块.其他/以前的维护者一直很懒惰.由于该产品的下一个版本对时间至关重要,我现在没有时间进入并正确修复所有300(?)差的捕获语句并验证软件的正常运行(当然我们几乎没有自动化测试使这更容易:/). 我只是在寻找是否有任何一种“直觉”,以至于人们应该多久看一次尝试.有几个答案说它是上下文敏感的,这是我有点怀疑但不确定. 解决方法
给出一个通用数字非常困难 – 它实际上取决于应用程序的目的是什么以及它是否需要执行可能以可恢复的方式失败的操作.
需要注意的一点是,空挡块是一个非常非常糟糕的主意.这比每个catch块的代码行重要得多. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |