<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:10pt"><div><span>Зачем @WHERE2? Сразу make_sub_select:<br><br>my ($sub_select, @sub_params) = make_sub_select(...);<br>push @where, "foo IN ($sub_select)"; push @params, </span><br class=""><span>@sub_params;</span></div><div style="display: block;" class="yahoo_quoted"> <br> <br> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif; font-size: 10pt;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif; font-size: 12pt;"> <div dir="ltr"> <font face="Arial" size="2"> On Wednesday, 18 December 2013, 9:18, Yury Pats <yu.pats@gmail.com> wrote:<br> </font> </div>  <div class="y_msg_container"><div id="yiv4285780647"><div><div dir="ltr">Привет. Нормально все
 выглядит.<div><br clear="none"></div><div>ИМХО </div><div>* Прямая нотация if вместо do</div><div>* уход от unless</div><div>* при обратной нотации писать if с новой строки с отступом</div><div><br clear="none">

</div><div>улучшили бы читаемость. Но получилась бы та же лапша, только вертикальная =)</div></div><div class="yiv4285780647gmail_extra"><br clear="none"><br clear="none"><div class="yiv4285780647gmail_quote">2013/12/18 Nick Knutov <span dir="ltr"><<a rel="nofollow" shape="rect" ymailto="mailto:mail@knutov.com" target="_blank" href="mailto:mail@knutov.com">mail@knutov.com</a>></span><br clear="none">

<div class="yiv4285780647yqt5670908923" id="yiv4285780647yqt73187"><blockquote class="yiv4285780647gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">У меня в коде в некоторых функциях, в зависимости от входных параметров,<br clear="none">
конструируются разные sql запросы. Пример:<br clear="none">
<br clear="none">
my $sql = posts_sql_view();<br clear="none">
$sql .= ' WHERE ' if $type or $id or $main;<br clear="none">
do { $sql .= ' <a rel="nofollow" shape="rect" target="_blank" href="http://ty.id/">ty.id</a>=? '; push @params, $type;} if $type;<br clear="none">
do { $sql .= ' AND <a rel="nofollow" shape="rect" target="_blank" href="http://p.id/">p.id</a>=? LIMIT 1'; push @params, $id } if $id;<br clear="none">
$sql .= ' ORDER BY id DESC ' unless $id;<br clear="none">
do { $sql .= ' LIMIT ? ' ; push @params, $limit } if $limit and not $id;<br clear="none">
<br clear="none">
Мне не нравится как это визуально выглядит. Как бы вы это переписали,<br clear="none">
чтобы было понятнее и читабельнее?<br clear="none">
<br clear="none">
ps: в некоторых других случаях можно было бы использовать && вместо<br clear="none">
do{}, но не тут.<br clear="none">
<br clear="none">
pps: ORM предлагать и обсуждать не надо. Как минимум потому, что запросы<br clear="none">
сложные и сложность/стоимость проверки того, что генерирует ORM<br clear="none">
многократно выше любого профита от ORM в данной ситуации.<br clear="none">
<span class="yiv4285780647HOEnZb"><font color="#888888"><br clear="none">
--<br clear="none">
Best Regards,<br clear="none">
Nick Knutov<br clear="none">
<a rel="nofollow" shape="rect" target="_blank" href="http://knutov.com/">http://knutov.com</a><br clear="none">
ICQ: 272873706<br clear="none">
Voice: <a href="" rel="nofollow" shape="rect">+7-904-84-23-130</a><br clear="none">
--<br clear="none">
Moscow.pm mailing list<br clear="none">
<a rel="nofollow" shape="rect" ymailto="mailto:moscow-pm@pm.org" target="_blank" href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a rel="nofollow" shape="rect" target="_blank" href="http://moscow.pm.org/">http://moscow.pm.org</a><br clear="none">
</font></span></blockquote></div></div><br clear="none"><br clear="all"><div><br clear="none"></div>-- <br clear="none">WBR, Yury Pats<br clear="none">skype: yuripats<br clear="none">cellular: +375 (29) 5870723
</div>
</div></div><br><div class="yqt5670908923" id="yqt60067">-- <br clear="none">Moscow.pm mailing list<br clear="none"><a shape="rect" ymailto="mailto:moscow-pm@pm.org" href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a shape="rect" href="http://moscow.pm.org/" target="_blank">http://moscow.pm.org</a><br clear="none"></div><br><br></div>  </div> </div>  </div> </div></body></html>