Опираясь на оценку короткого замыкания, код становится хрупким? Я написал фрагмент кода, который по существу выглядит следующим образом. Мой профессор хотел, чтобы я переписал его.программирование с оценкой короткого замыкания в Java
(Примечание: Я знаю, что только один из четырех условий будет справедливо, потому что дал любой поток, существует только один «следующий маркер», не так ли?)
foo getFoo()
{
Bar bar;
if ((bar = peekAndGet('x')) != null
|| (bar = peekAndGet('y')) != null
|| (bar = peekAndGet('z')) != null
|| (bar = peekAndGet('t')) != null)
return produce(bar);
else
return null;
}
Является ли это на самом деле хрупкая ? Я считаю, что он работает отлично. Но как мне его переписать?
Если он работает должным образом, обрабатывает граничные случаи, легко понимается и легко расширяется, это хороший код. «Хорошая практика» поможет вам добраться туда, но важны критерии, которые я изложил. –
Можете ли вы предоставить метод peekAndGet? – Foredoomed
Я думаю, что грубо делать назначение и сравнение в одной строке ... Но это только я (и много других людей). – jahroy