Following my previous question in Bezug auf die Begründung hinter extrem langen Funktionen, würde ich gerne eine spezifische Frage zu einem piece of code Ich studiere für meine Forschung. Es ist eine Funktion des Linux-Kernels, der ziemlich lang (412 Zeilen) und kompliziert ist (ein MCC index von 133). Grundsätzlich ist es eine lange und verschachtelte Switch-AnweisungKann diese Kernel-Funktion besser lesbar sein? (Ideen für eine akademische Forschung benötigt!)
Ehrlich gesagt, ich kann mir keine Möglichkeit vorstellen, dieses Durcheinander zu verbessern. Eine Dispatchtabelle scheint sowohl riesig als auch ineffizient zu sein, und jeder Unterprogrammaufruf würde eine unvorstellbare Anzahl von Argumenten erfordern, um ein großes Code-Segment abzudecken.
Denken Sie an irgendeine Art, wie diese Funktion besser lesbar umgeschrieben werden kann, ohne an Effizienz zu verlieren? Wenn nicht, scheint der Code für Sie lesbar?
Es erübrigt sich zu sagen, dass jede Antwort, die in meiner Forschung erscheinen wird, volle Anerkennung bekommen wird - sowohl hier als auch in der eingereichten Arbeit.
Link to the function in an online source browser
Sie haben sehr interessante Forschung im Gange ... –
Dies und alle weiteren Beiträge, die Sie zu diesem Thema machen, sollten Community Wiki sein, IMHO. –
Ich würde Kernel-Code sehr sehr anders als normaler Anwendungscode behandeln. Und vor allem Code, der ein sehr gut definiertes und verständliches Konzept implementiert, das nicht geändert oder weiterentwickelt werden muss. – nos