Portál AbcLinuxu, 8. května 2025 21:59
nějak se vám sem vloudil celej další článek ))
sed 's/\<alloca\>/malloc/g' test.c
Já myslím, že Coccinelle je ukázka kam až může zajít opovrhování různými IDE.
Každé dobré IDE (než začnete argumentovat různými IDE ve stylu hračky pro děti přečtěte si ještě jednou to slovo dobré) má slušné nástroje refaktorizaci, což je v zásadě to, co programátor při změnách na 99,999% potřebuje.
Ale jinak dobře pojatý článek, autor má talent.
Refactoring je ale věcí OOP. Toto je pokus překonat jeden z problémů, které odstraňuje OO jazyk.
Jinak se nedá než nesouhlasit - dokonce bych založil hnutí osvěty na školách, kde studenty nutí psát v obyčejném textovém editoru. Výsledek je jenom ten, že jsou znechucení chybami jako jsou překlepy a složitostí vývoje. Člověk se totiž neučí celkovým počtem pokusů nýbrž jenom počtem těch, které jsou správně.
Refactoring je ale věcí OOP.Proč? Nebo jsem zaspal, když se měnil význam slova refaktoring (automatizované zlepšování existujícího kódu)?
Můžete mi prosím uvést nějaký nástroj stejných nebo lepších kvalit, než Eclipse nebo RR pro ne OO jazyk a se 100% úspěšností pro "automatizované zlepšování existujícího kódu"?
a*b
Ten priklad a*b je jeste brnkacka. V C++ muzete videt i tohle:
v1 = a.b();
v2 = a->c();
A co ted? Je "a" instance tridy anebo pointer? Navic trida "a" nema zadnou metodu "c". Po tom co jsem prisel o nekolik hodin zivota jsem prisel na to, ze "a" ma vnorenou tridu "x", ktera je potomkem "y" a "y" ma metodu "c". Navic trida "a" ma pretizeny operator "->" ktery umoznuje "pretypovani" na y.
Java refactoring v Eclipse rozhodne nefunguje na 100 %. Eclipse som sice len skusal, ale uz pri operacii Extract method nastali problemy a bola zmenena semantiku kodu (ale aspon ma IDE o tom informovalo). Mozno sa to uz zmenilo, no nie je to az tak davno, co som to skusal.
Rozhodne nechci hajit Javu, napsal jsem v ni vsehovsudy pouze jeden program, ale prave refactioring v Eclipse me utvrdil v tom, ze gcc zaostava. Eclipse ma integrovany kompilator a ten do prostredi dodava vsechny potrebne informace pro pochopeni kodu a nasledny refactoring. Takovy refactoring je uspesny ve 100% pripadu. Vubec se to neda srovnat s nastroji jako cscope nebo ctags. Nikde nenarazite na milion maker, ktera jsou do sebe zanorena do sebe takovym zpusobem ze nikdo nedokaze odhadnout co z nich vlastne vypadne - viz treba mozilla nebo alokace pameti v openldapu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.