Машина состояний идеально подходит для случаев с запутанной логикой переходов.<div><br></div><div>Впрочем, я уже об этом упоминал.<br><br><div class="gmail_quote">3 октября 2012 г., 16:19 пользователь Sergey Aleynikov <span dir="ltr"><<a href="mailto:sergey.aleynikov@gmail.com" target="_blank">sergey.aleynikov@gmail.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Добрый день,<br>
<div class="im"><br>
>>> вообще goto очень удобен в случаях когда идет последовательная<br>
>>> инициализация (выделение) ресурсов и в случае если надо сделать откат:<br>
<br>
</div><div class="im">> если вся инициализация укладывается в функцию о 50 строках, то и не<br>
> стоит лепить зависимости, технологии итп только заради отказа от goto,<br>
> который к тому же в данной задаче вполне элегантен<br>
<br>
</div>Не соглашусь. В варианте с goto инициализация и освобождение<br>
становятся визуально (и логически) не связанными. И это легко приведёт<br>
к ситуациям вида забыл обновить метку/забыл добавить/убрать<br>
cleanup-код, etc. Вариант с guard'ом связывает получение и<br>
освобождение в один блок.<br>
<br>
Best regards,<br>
Sergey Aleynikov<br>
<div class="HOEnZb"><div class="h5">--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div></div></blockquote></div><br></div>