Do pranice — využívat možnosti syntaxe až do morku kostí
Nebudu začínat obvyklým “nedávno jsem”, ale třeba, tak jsem vám viděl zajímavé a opravdu vypečené konstrukce v kódu. První z nich představuje využití instančních inicializátorů ve spojitosti s anonymní vnitřní třídou, což umožňuje zajímavý způsob konstrukce a naplněni objektu. Druhou konstrukcí je vícenásobná definice lokální proměnné (jiný název mě proto nenapadá).
instančních inicializátor (zkopírováno odjinud — díky Martine)
Set s = new HashSet() {
{
add("x");
add("y");
add("z");
}
};
vícenásobná definice lokální proměnné (díky NkD)
public class Foo {
public void my(){
{
String var = "foo";
System.out.println(var);
}
{
String var = "hoo";
System.out.println(var);
}
String var = "bar";
System.out.println(var);
}
}
Osobně si myslím, že by se syntaxe jazyka neměla využívat úplně do morku kostí, protože to přece jenom přináší těžko čitelný kód a především pro méně zkušené programátory to může být docela oříšek k rozlousknutí. Vlastně ani nemusíte hledat někoho méně zkušeného, stačí se zeptat vedle sedícího kolegy, jestli se mu výše uvedený kód zdá kompilovatelný a co přesně dělá.
Mě osobně přijde příklad s instančním inidializátorem a anonymní vnitřní třídou jako akceptovatelný a dokonce se mi líbí. Druhý příklad naopak považuji za takovou obezličku k tomu, abych mohl uvnitř metody programovat podle vzoru zkopíruj a vlož. Je samozřejmě věcí osobního vkusu vývojáře kde leží ona hranice mezi řekněme kompaktním zápisem a nesrozumitelnou sekvenci písmen a dalších znaků. A tak se samozřeumě ptám na váš názor, měla by se syntaxe využívat až do morku kostí?
Související články
Související epizody CZ Podcastu
- #3 · Java 6 SE, Vývoj webových aplikací
Dagi a Filemon o novinkách v Javě 6 a webových frameworcích.
- #1 · Vývojová prostředí v Javě
První díl CZ Podcastu se věnuje vývojovým prostředím pro Javu.