Mam kod Java, który używa nawiasów klamrowych na dwa sposoby
// Curly braces attached to an 'if' statement:
if(node.getId() != null)
{
node.getId().apply(this);
}
// Curly braces by themselves:
{
List<PExp> copy = new ArrayList<PExp>(node.getArgs());
for(PExp e : copy)
{
e.apply(this);
}
}
outAMethodExp(node);
Co oznaczają te samodzielne nawiasy klamrowe po pierwszym if
zdaniu?
copy
można je odrzucić przedoutAMethodExp()
zwrotem. Jeśli jest to połączenie długotrwałe lub wymagające dużej ilości pamięci, może to być pomocne. Umieściłem „korzyść” w cudzysłowie, ponieważ refaktoryzacja na oddzielne metody jest generalnie dużo czystsza i bardziej przejrzysta niż korzystanie z tej składni.