Az értelmetlen Rust kódformázással szembeni kritkáit fogalmazta meg markánsan Linus Torvalds

A Linux kernel atyjának nem telik el úgy egy hete, hogy ne fogalmazzon meg valamivel szemben egy markáns véleményt. Történt ugyanis, hogy miután nemrég határozottan elutasította a RISC-V architektúra big endian támogatásának ötletét, újabb frontot nyitott: ezúttal a „kaotikus” Rust kódformázás és a hanyagul megírt commit-üzenetek kerültek célkeresztbe. A vita a Linux 6.18-as verziójához beküldött Direct Rendering Manager (DRM) alrendszer frissítésének kapcsán robbant ki, amelynek beolvasztását Torvalds több ponton is erőteljesen kritizálta.

Az értelmetlen Rust kódformázással szembeni kritkáit fogalmazta meg markánsan Linus Torvalds

A probléma egyik forrása: rosszul formázott commit-üzenetek

A levelezőlistán közzétett üzenetében Torvalds először a beküldött szöveg formázását vette górcső alá. Mint írta, a bejegyzés több alrendszert – például az Alloc, DMA/Scatterlist, DRM és Rust modulokat – kevert össze logikátlan módon, mintha „mintha valaki egy rosszul működő szerkesztőbe másolta volna a szöveget, ami közben „szétbontotta az egész formázást”. Gúnyosan hozzátette, hogy a használt szerkesztő talán az „EDLIN” lehetett, utalva a DOS-korszak kezdetleges parancssoros szövegszerkesztőjére. Torvalds hangsúlyozta, hogy a commit-üzeneteknek olvashatónak, strukturáltnak és követhetőnek kell lenniük, nem pedig „véletlenszerű szavak halmazának”.

A Rust kódformázása szerinte „komplett őrület”

A technikai részletekbe belemenve Torvalds ezután a Rust kódstílus-ellenőrző eszköz, a rustfmtcheck működését nevezte „komplett őrületnek”. Példaként hozta fel, hogy a Rust formázó eszköz többsoros use direktívákat próbál automatikusan egysorosra zsugorítani, például az use crate::{xyz, abc}; formába, amit szerinte „semmiféle karbantarthatósági logika nem indokol”. Torvalds ehelyett a jól olvasható, bővíthető formátumot preferálja, ahol minden hivatkozás külön sorban szerepel. Kiemelte, hogy a rustfmt által alkalmazott „heurisztikus szabályok” gyakran kiszámíthatatlanok, és hosszú távon inkább nehezítik, semmint segítik a kódkarbantartást.

Torvalds szerint sokkal életszerűbb megoldásra lenne szükség

A Linux-vezér elismerte, hogy a kódformázás mögött jó szándék áll, de szerinte a gyakorlatban ez az automatizálás „rossz döntéseket eredményez”. Mint írta: „Ez az a fajta automatizmus, ami megnehezíti a jövőbeni kódösszevonásokat. A rustfmtcheck egyszerűen hibás, mert nem ad világos szabályokat arra, mikor kell több sort, és mikor egysoros formát használni.” Torvalds hozzátette, hogy a Rust fejlesztőinek érdemes lenne átgondolniuk a jelenlegi formázási irányelveket, mivel a „kis elemekre” vonatkozó hivatalos szabályozás – amelyről a programnyelv dokumentációban is írnak – nem alkalmazható a use utasításokra, ahol önálló entitásokat kellene jól elkülöníteni.

A vitás bejegyzés teljes terjedelmében elérhető a Linux Kernel Mailing Listen (LKML), ahol a Rust integrációja körüli diskurzus egyre élénkebb.

Gábor a Pingvinbázis alapítója és főszerkesztője, több mint 20 éves tapasztalattal rendelkezik a Linux rendszerek és az Open Source szoftverek területén. Jártas a Python, és a PHP nyelvben, valamint a BASH scriptelésben is.