( iwanabeguru | 2023. 07. 19., sze – 10:30 )

Hi,

Pl

efi_gop() 90 sor, 2 hatalmas if block benne

bios_open() szintén 90 sor, szintén két hatalmas if block benne

fw_init() 100 sor, 4 if-else block benne

fw_loadconfig() 130 sor, szintén több if-else block és több ciklus

 

Szerintem ezeket lehetne leginkább "felpucolni", és ahogy sejtem ezek a legfontosabbak is. Nem is az hogy egy függvény más dolgot is csinál mint a neve, hanem egy funkciónak 3-4 módja is bele van sűrítve egybe.  Például a fw_loadconfig mondjuk be tudja tölteni a configot kb4 féle képpen, ezt a 4 féle módot kivenném egy-egy alacsonyabb szintű függvénybe. A másik hogy az ifek belsejét kivenném egy függvénybe aminek a neve leírja hogy mit jelent az a feltétel, pl "if(!memcmp(s, "kernel", 6))", de ez már csak hab a tortán. Valszeg csak nekem nem mond semmit.

A másik a progress bar, tök jó hogy van de nem része a core funkcionalitásnak, én kicsapnám egy külön modulba.

A clean code lényege az olvashatóság, ez nehezen olvasható szerintem, persze ha ez az ára a hatékonyságnak és a hatékonyság a legfontosabb akkor nincs mit tenni. Valóban nem értek a low level programozáshoz, és meghajlok az előtt hogy ha ezernyi kis függvényed van akkor nem fér bele az erőforrásba.

Megkérdezhetem hogy miért ragaszkodsz a 256KB-hoz?