dagblog.
← Archiv

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í?

Verze na Medium

Související články

Související epizody CZ Podcastu