<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">7 декабря 2015 г., 19:17 пользователь Alex Chistyakov <span dir="ltr"><<a href="mailto:alexclear@gmail.com" target="_blank">alexclear@gmail.com</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">2015-12-07 18:56 GMT+03:00 Ivan Petrov <span dir="ltr"><<a href="mailto:i.petro.77.00@gmail.com" target="_blank">i.petro.77.00@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span>>> зачастую косвенно говорит. впрочем вот это "профилирование кода" как<br>
>> правило вообще не нужно никому.<br>
<br>
> В этом сообществе, может, и не нужно.<br>
> Но тогда у меня для его участников есть печальная новость.<br>
<br>
</span>я так думаю что столь важно не то с какой скоростью код может работать,<br>
сколь важно то с какой скорость код может быть изменен.<br></blockquote><div><br></div></span><div>Обе вещи важны, должен быть баланс.</div></div></div></div></blockquote><div>Это даже  не "тонкий" вопрос, а вопрос жизни и смерти, если ты не можешь изменить код, то все, еще пару лет и код будет переписываться с 0.<br></div><div>Причем изменить ни что то там, а реально взять и отрефакторить то что уже не удовлетворяет потребностям бизнеса, а у вас есть два варианта: хак или все переписать.<br></div><div>При балансе, ответ очевиден - хак! Так что только loosely coupled design and TDD! <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
основная проблема всех крупных проектов в том, что они приходят к<br>
такому состоянию, что они сами не могут внести исправления в<br>
собственный код.<br>
<br>
таких примеров масса.<br>
вот взять скажем ICQ. Могли в ICQ добавить аудио/видео разговоры,<br>
вменяемые никнеймы итп? могли. Что бы произошло в этом случае? ICQ бы<br>
выжил. однако он сдох[нет].<br></blockquote><div><br></div></span><div>Я думаю, вопрос стоял иначе.</div><div>Любой бизнес дорастает до состояния, когда стейкхолдерам ссыкотно менять что бы то ни было.</div><div>Боятся сломать. Сто раз такое видел.</div><div><div class="h5"><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
примеров подобного могу привести 100500.<br>
<br>
соответственно мне кажется что на сегодня наиболее рабочая парадигма -<br>
это не целиться в сторону максимально быстро работающего кода, а в<br>
сторону кода который пофиг быстро или нет работает, но который можно<br>
модифицировать.<br>
<br>
поэтому на собеседованиях/приеме на работу мне более интересны<br>
вопросы: что там с тестами? пишем/нет? как часто как много?<br>
что там с парадигмами? вот такую задачу КАК решать будем? итп.<br>
<span><br>
> Нет.<br>
> Я себе плохо представляю тестовое задание (точнее, плохо себе представляю такой<br>
> код), по которому видно, как человек, его сделавший владеет процессом<br>
> разработки.<br>
<br>
</span>а ты сформулируй этот самый "процесс разработки".<br>
и тогда ты сможешь написать тест.<br>
<span><br>
>> если тебя интересует именно профилирование кода, то в тестовом задании<br>
>> должно быть что-то, что потребует этого самого профилирования.<br>
<br>
> Не могу пока придумать такое задание.<br>
<br>
</span>чего проще.<br>
просишь человека написать скажем интерактивное приложение, которое<br>
написать чтобы не безбожно тупило без профайлера - сложно.<br>
<br>
хз в какой области вы пишете, но если например веб, то пусть сделает<br>
страничку с табличкой которая на ходу будет пересчитываться. условие<br>
интерактивности положи как базовое в задачу. Сама задача должна быть<br>
несложной, но важно чтобы повозился с скоростью работы.<br>
<br>
как-то так.<br>
<br>
кстати что там у вас за задачи, которые непременно требуют<br>
профайлинга?<br></blockquote><div><br></div></div></div><div>Да обычный веб.</div><span class=""><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
профайлинг показывает узкие места.<br>
как правило решение лежит не в области переписывания узких мест, а в<br>
области смены чего-то в архитектуре<br></blockquote><div><br></div></span><div>Никогда не лежит в архитектуре.</div><div>Архитектура всегда очень проста.</div><div>Ну - есть сервер очередей, консьюмеры, есть сервер приложений, который динамику рисует.</div><div>Что тут можно изменить?</div><div>А еще есть разработчики, которые любят через ORM 200000 записей из базы в код поднять.</div><div>А еще есть шаблонизатор, который тормозит.</div><div>Это не архитектура.</div><div><br></div><div>--</div><div>SY,</div><div>Alex</div><span class=""><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div><div>--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" rel="noreferrer" target="_blank">http://moscow.pm.org</a><br>
</div></div></blockquote></span></div><br></div></div>
<br>--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" rel="noreferrer" target="_blank">http://moscow.pm.org</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">С уважением<br>Михаил Шогин.<br></div>
</div></div>