Производительность против качества кода - PullRequest
11 голосов
/ 15 февраля 2009

Как вы думаете, стоит ли жертвовать некоторой производительностью ради качества кода и удобства сопровождения? Я помню пост Джеффа Этвуда, в котором говорилось, что оборудование дешевое, а разработчики - нет. Я думаю, что я хотел бы изменить это на «Аппаратные средства дешево, время не.»

Я заметил, что в проекте MVC, над которым я работал в последнее время, иногда я теряю DAYS, просто пытаясь выжать из своего приложения немного больше производительности, и я начинаю думать, что это просто не стоит. Я только что столкнулся с проблемами при разработке приложения ASP.NET MVC. Я люблю IQueryable до смерти за то, что он позволяет мне добавлять запрос, чтобы я мог получить свободный код для его использования. Но возможность сделать что-то подобное увеличивает ответственность контроллера / BLL.

Так что ты думаешь? В случае с веб-приложениями вы согласились бы компенсировать некоторую производительность для поддерживаемого / более чистого кода? Как вы думаете, преждевременно ли пытаться оптимизировать все, что вы можете? Потому что, как мы видели, вы не можете предсказать все требования.

Ответы [ 12 ]

0 голосов
/ 15 февраля 2009

Стандартное определение качества - «Соответствие ожиданиям клиента (требованиям)». Если вы провели хороший сбор требований, то вы согласились с определенными критериями эффективности. Если ваша заявка соответствует этому критерию, вы теряете время или деньги клиента и пытаетесь добиться большего успеха.

Написание слабосвязанного, связного и легко читаемого кода просто снижает риск и затраты, связанные с ошибками и изменениями требований. Если вы готовы принять риск кодирования «шарика грязи», тогда продолжайте. Я люблю получать прибыль.

0 голосов
/ 15 февраля 2009

Я определенно ценю свое время за производительность приложений на стороне сервера . Если я замечаю, что мой сайт работает недостаточно хорошо при выполнении запросов к базе данных и т. Д., Обновление аппаратного обеспечения сервера является альтернативным решением, которое может (хотя бы на короткий срок) решить мою проблему, не обращая внимания на код.

Однако, если приложение чрезвычайно сеть неэффективно, я бы потратил довольно много времени, пытаясь улучшить эту часть. Отправка больших объемов данных влияет на моих пользователей, независимо от того, что я делаю со своим собственным сервером и восходящей связью - и если им не нравится производительность, они не вернутся.

Но, как сказали некоторые другие, это не вопрос / или - это во многом зависит от ситуации, от того, насколько серьезна проблема производительности, где находится в приложении и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...