Czy ta funkcja jądra może być bardziej czytelna? (Pomysły potrzebne do badań naukowych!)

Po moim poprzednim pytaniu jeśli chodzi o uzasadnienie niezwykle długich funkcji, chciałbym przedstawić konkretne pytanie dotyczące akawałek kodu Uczę się do moich badań. Jest to funkcja z jądra Linuksa, która jest dość długa (412 linii) i skomplikowana (anIndeks MCC 133). Zasadniczo jest to długa i zagnieżdżona instrukcja przełącznika

Szczerze mówiąc, nie mogę wymyślić żadnego sposobu na poprawę tego bałaganu. Tabela ekspedycji wydaje się zarówno ogromna, jak i nieefektywna, a każde wywołanie podprogramu wymagałoby niepojętej liczby argumentów, aby pokryć wystarczająco duży segment kodu.

Czy uważasz, że ta funkcja może zostać przepisana w bardziej czytelny sposób, bez utraty wydajności? Jeśli nie, czy kod wydaje ci się czytelny?

Nie trzeba dodawać, że każda odpowiedź, która pojawi się w moich badaniach, otrzyma pełne uznanie - zarówno tutaj, jak i w przedłożonym dokumencie.

Link do funkcji w przeglądarce źródła online

questionAnswers(5)

yourAnswerToTheQuestion