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 ifzdaniu?
copymoż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.