Обычно как раз уход от рекурсии считается оптимизацией, а не наоборот. По поводу последней фразы не соглашусь — непонятный, но эффективный код лучше далеко не всегда, а только в тех случаях, когда эта часть алгоритма является узким местом, выявленным профайлингом. В остальных случаях на первом месте именно понятность и читаемость кода.
Спасибо за мнение, тема оптимизации кода — преждевременной или нет — действительно из разряда продвинутых. Мой подход характерен тем, что все подается «как есть», без фильтрации. А уж воспринимается читателями в меру необходимости.
То, что я в статье, называю «однозначностью», ближе к английскому слову «robustness». Да, форматирование кода скорее всего должно идти, как вы и предложили, в категории «читаемость». Здесь я упростил классификацию до трех фундаментальных категорий, на которых все основывается. А код может быть гибким. Например, код
if (a == 0) {
a = 1;
}
предпочтительнее аналогичного кода без фигурных скобок, даже если в теле условия всего одно выражение. Код с фигурными скобками более «гибкий», поскольку позволяет добавить новые выражения в тело цикла, не затрагивая уже написанный код.
Насчет комментариев углубляться в комментарии не буду. Мнение о необходимости в коде комментариев и их достаточности будет выражать тот, кому этот код достанется в наследство ^__^
Перенесите в блог «Я умный», там его увидит и оценит большее количество человек.
Доказательство действительно необычное. Жаль я не математик, и не могу оценить его «легитимность» ^__^
Мотивация для использования Perl вовсе не в количестве прилагаемых усилий, а в возможностях языка, в его мощности и неограниченной расширяемости.
Говоря об усилиях, я имел в виду не трудность написания собственно кода, а важность писать код гибкий и читаемый. А эти усилия должны прилагать все программисты, не только перловики. Не прилагающие достаточного количества усилий периодически волей-неволей публикуются на govnokod.ru, code_wtf и других подобных ресурсах.
Переменная $_ при правильном обращении делает язык Perl лаконичным. То же касается и массива @_. А вот все остальные специальные переменные только создают ту самую трудночитаемость, о которой говорят критики языка. Не зря ведь модуль English, заменяющий их на переменные с говорящими названиями, входит в состав стандартных с ранних версий языка.
Ведущий программист, распределяя задачи по подчиненным-исполнителям, контролирует только рамки сроков, называемых исполнителями. Он имеет представление о том, какую задачку исполнитель сделает максимум за 3 часа, а на какую уйдет не меньше 3 дней.
Конечно, бывают и исключения — люди, которые максимально тщательно анализируют всю проходящую через них информацию. Но если лид поступает таким образом, он просто делает часть работы, которую должен делать исполнитель.
До заказчика (в данном случае это был инвестор проекта) даже не дошла реальная история замороженного проекта, ему сказали, что виноваты программисты. К настоящему моменту половина из них наверняка уволена. В целом, конечно, эта история не столько о неправильной оценке задачи, сколько о «слитом» проекте руководством фирмы. Просто поучительная история.
Если уж говорить о том, как оптимизируют работу сайта с большой посещаемостью, то промежуточные и конечные результаты сложных расчетов (в вашем случае — конечный результат выборки прав доступа) хранят в memcached, а не в базе. Снижение нагрузки на сервер от наплыва пользователей заключается в том, чтобы как можно меньше общаться с СУБД.
Доказательств неадекватности товарища чистякова более чем достаточно. Все его коментарии к посту «Снова мы все украли», как история болезни у психиатра, говорит обо всем. Как и любой невротик, противопоставляя себя «злой реальности», отвечает на любой коментарий очередным потоком грязи, даже не задумываясь о связности дискуссии. Даже своих предыдущих вопросов не помнит.
Можно ли считать этого психопата лицом компании или нет — даже не имеет значения. Майлру уже достаточно засветила в интернете своих проколов. Ничего, исходники программы уже почистили, осталось почистить результаты жизнедеятельности своего сотрудника у себя в блогах и можно будет продолжать работать дальше. Как ни в чем не бывало. У компании не осталось лица.
мэйлру не годится теперь даже для регистрации одноразового почтового адреса, есть же mailforspam.com. Другое дело, что бОльшая часть их аудитории неприхотлива: почта, гороскопы, прогноз погоды есть — ну и отлично, есть все что нужно.
Если быть совсем дотошным, то перефразирую так: «Полагаясь только на свой жизненный опыт, в подобных или похожих делах, мне кажется, я догадываюсь на чьей стороне справедливость в данном конкретном случае».
Ссылку хотел приложить еще к своему предыдущему комментарию, но там где я ее брал, ее уже нет. Об этом было написано на домашнем сайте KeePass. Автору проекта сообщили о программе, имеющей функционал один-в-один как у KeePass. Что конкретно произошло не знаю, но проект-имитатор перестал существовать.
И не гуглится чего-то. Может, кто найдет и поделится ссылкой.
Обращаюсь к корпорации, которая умышленно или нет, но наплевала на все свободное сообщество программистов. Вы подчищайте-подчищайте исходники. Прекрасно знаю эту «кухню», так и вертится в голове приказ начальства разработчикам агента «Сделайте, чтобы было не подкопаться».
К сожалению, в России копирайты мало чего стоят, особенно не подкрепленные финансово. А поскольку опенсорс работает на голом энтузиазме, то за него почти некому заступиться у нас, только на западе с их сильной юридической базой. Вспоминается случай с KeePass, когда некая фирма просто скопировала исходники и назвала продукт своим именем. Но там быстро разобрались, а эти выкрутятся…
PS: майлрушники, вы хотя бы сами себе не противоречте. Пресс-служба одно говорит, программеры в своих блогах другое…
предпочтительнее аналогичного кода без фигурных скобок, даже если в теле условия всего одно выражение. Код с фигурными скобками более «гибкий», поскольку позволяет добавить новые выражения в тело цикла, не затрагивая уже написанный код.
Насчет комментариев углубляться в комментарии не буду. Мнение о необходимости в коде комментариев и их достаточности будет выражать тот, кому этот код достанется в наследство ^__^
Доказательство действительно необычное. Жаль я не математик, и не могу оценить его «легитимность» ^__^
Говоря об усилиях, я имел в виду не трудность написания собственно кода, а важность писать код гибкий и читаемый. А эти усилия должны прилагать все программисты, не только перловики. Не прилагающие достаточного количества усилий периодически волей-неволей публикуются на govnokod.ru, code_wtf и других подобных ресурсах.
Конечно, бывают и исключения — люди, которые максимально тщательно анализируют всю проходящую через них информацию. Но если лид поступает таким образом, он просто делает часть работы, которую должен делать исполнитель.
Можно ли считать этого психопата лицом компании или нет — даже не имеет значения. Майлру уже достаточно засветила в интернете своих проколов. Ничего, исходники программы уже почистили, осталось почистить результаты жизнедеятельности своего сотрудника у себя в блогах и можно будет продолжать работать дальше. Как ни в чем не бывало. У компании не осталось лица.
И не гуглится чего-то. Может, кто найдет и поделится ссылкой.
К сожалению, в России копирайты мало чего стоят, особенно не подкрепленные финансово. А поскольку опенсорс работает на голом энтузиазме, то за него почти некому заступиться у нас, только на западе с их сильной юридической базой. Вспоминается случай с KeePass, когда некая фирма просто скопировала исходники и назвала продукт своим именем. Но там быстро разобрались, а эти выкрутятся…
PS: майлрушники, вы хотя бы сами себе не противоречте. Пресс-служба одно говорит, программеры в своих блогах другое…