【发布时间】:2023-03-08 18:30:01
【问题描述】:
Following my previous question 关于超长函数背后的基本原理,我想提出一个关于我正在研究的piece of code 的具体问题。它是来自 Linux 内核的一个函数,它很长(412 行)并且很复杂(MCC index,共 133 行)。基本上,它是一个长而嵌套的 switch 语句
坦率地说,我想不出任何办法来改善这个烂摊子。调度表看起来既庞大又低效,任何子例程调用都需要数量惊人的参数才能覆盖足够大的代码段。
你觉得这个函数有什么方法可以改写成更易读的方式,而不损失效率吗?如果没有,您觉得代码是否可读?
不用说,我的研究中出现的任何答案都将得到充分肯定——无论是在这里还是在提交的论文中。
【问题讨论】:
-
你正在进行非常有趣的研究......
-
这个,以及你在这个主题上发表的任何其他帖子,都应该是社区 Wiki,恕我直言。
-
我认为内核代码与普通应用程序代码非常不同。尤其是实现了一个定义明确且易于理解的概念的代码,不需要更改或发展。
标签: linux-kernel switch-statement mcc