Может ли эта функция ядра быть более читабельной? (Идеи, необходимые для академического исследования!)

После моего предыдущего вопроса Что касается обоснования чрезвычайно длинных функций, я хотел бы представить конкретный вопрос, касающийсякусок кода Я учусь для своего исследования. Это функция из ядра Linux, которая довольно длинная (412 строк) и сложная (Индекс MCC из 133). По сути, это длинный и вложенный оператор switch

Честно говоря, я не могу придумать какой-либо способ улучшить этот беспорядок. Таблица диспетчеризации кажется огромной и неэффективной, и любой вызов подпрограммы потребует немыслимого количества аргументов, чтобы охватить достаточно большой сегмент кода.

Как вы думаете, каким образом эта функция может быть переписана более читабельным образом, без потери эффективности? Если нет, то кажется ли вам код читабельным?

Само собой разумеется, что любой ответ, который появится в моем исследовании, будет в полной мере оценен - и здесь, и в представленном документе.

Ссылка на функцию в браузере исходного кода

Ответы на вопрос(5)

Ваш ответ на вопрос