ze presto, ze ma Java oproti jinym jazykum/technologoiim konvence formatovani zdrojovych kodu http://www.oracle.com/technetwork/java/codeconvtoc-136057.html tak na to kaslete a formatujete jak se Vam libi.
Fujtajbl.
Tak jen letmym pohledem uvodni zavorka bloku patri na stejny radek jako statement tedy:
try { this.scriptEngine.eval(stringReader); } catch (ScriptException e) { e.printStackTrace(); } finally { stringReader.close(); }
a ne
try { this.scriptEngine.eval(stringReader); } catch (ScriptException e) { e.printStackTrace(); } finally { stringReader.close(); }
Pak nechapu zalomeni za prirazenim:
final String script = "1.5/2;";
Vzdy me prepkvapi, kdyz vidim vsemozne ruzne formatovani (vetsinou pochazejici z C/C++) i u nas ve firme, kde vsichni pouzivame Eclipse, ktery ma vychozi formatovani "Java Conventions" a jednoduchym "Ctrl+Shift+F" zformatuje vybrany blok textu nebo cely soubor. Nehlede na to, ze kod ktery sam doplnuje nebo napovida (try nasledovano Ctrl + mezera napr.) je formatovan dle konvenci. Schvalne na Vase zdrojove kody postvete formatovac v Eclipse (nebo jiny, prepodkladam jine IDE delaji neco podoneho) a uvidite v cem je "problem" :-).
Chapu, ze ve svych projektech se clovek temito konvencemi ridit nemusi (nebo na projektu kde si sef urci jinak) ale tady bych cekal opak.
Jiste, moje Eclipse to formatuje tak, jak je to uvedene v clanku a mel jsem pro to duvod - hlavni je ten, ze Root.cz ma - nevim proc, to je otazka na designery CSSek - vsechny clanky vysazene do relativne uzkych sloupcu, takze je lepsi formatovani "na vysku" nez "na sirku".
Lidi ze Sunu, kteri sesmolili tu specifikaci, meli opacny problem - nacpat co nejvice ukecaneho Javovskeho kodu na monitory postavene na sirku, proto vymysleli tu normu, na kterou odkazujete (a kterou Snoracle ne presne dodrzuje, viz napriklad zdrojaky OpenJDK).
Btw vy pouzivate odsazeni na tab nebo to je skutecne osm mezer? (ono to neni z prispevku upraveneho redakcnim systemem moc poznat)
Nemyslim, ze presunutim uvodnich zavorek bloku na druhou radku usetrite nejake misto do sirky. (spis tipuji na zvyk z C/C++ ala Allman - http://en.wikipedia.org/wiki/Indent_style)
Navic pokud jde o sirku, tam ja sam mam upraveny vychozi formatovac na 160 znaku, protoze vychozich 80 s ohledem na terminaly dnes nema smysl. Proc jste jen neupravil "Maximum line width" na pozadovany pocet znaku v zalozce "Line Wrapping" a nenechal zbytek na formatovaci? Napr. metoda v textu "testInvokeFunctionWithParameters" ma 100 znaku na sirku, neni duvod kratky try catch blok takhle zlamat.
Vim, ze zdrojove kody Javy se tim na mnoha mistech neridi (je to porad jen o lidech), to ale neni duvod to delat take.
Jinak ja pouzivam tab, ale jelikoz v komtentarich se tab pouzivat neda, odmezeroval sem to (Copy Paste asi 8 mezer).
No ono se to lehce tipovalo kdyz jsem kdysi davno cetl Vase OpenGL clanky :-).
Jinak jde mi hlavne o priklad ktery davate treba zacinajicim Javistum, aby nam to pak nepochytili a jeste se nam na takove clanky neodvolavali :-). To je jako kdyz doaleluja lidem vysvetluju, ze mistni rikaj Rigrak a ne Rigrace a pak si tam nakej moula z Horni Dolni da ceduli "Nejlepsi pivo v Rigracich" a hadejte se pak :-). Priklady zktratka tahnou, ty psane tuplem.
jeje, to bylo davno ;-)
Mozna ten clanek oznacime jako odstrasujici priklad, jak se to nema delat, ale pro praxi je IMHO dobre nasadit Checkstyle (+ bych urcite pridal Findbugs) a to bud primo na proceduru commit, coz ale nekdy nejde, nebo treba do Hudsonu.
Je to sice buzerace (a kolegove Vas budou proklinat :-), ale pro vetsi projekty asi schudne reseni.