Я сказал бы, что опция 1 полностью отсутствует. Код должен считать способом, что говорит Вам, что он делает. Опция 1 заставляет меня думать, что эта игла собирается пойти, находят меня стогом сена.
Опция 2 выглядит хорошей, если стог сена предназначен для содержания игл. ListCollections всегда собираются содержать ListItems, таким образом делание collection.find (объект) является естественным и выразительным.
я думаю, что введение объекта помощника является approproiate когда:
Метод вернет false
, если истечет время ожидания, и true
, если он вернет сигнал:
if (mySemaphore.WaitOne(1000))
{
// signal received
}
else
{
// wait timed out
}