Перевод записи из блога Д. Эпплмана

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Перевод записи из блога Д. Эпплмана

Сообщение hCORe » 03.02.2005 (Чт) 20:01

Вот, перевел тут забавную запись из блога Дана Эпплмана. Почитайте :)

"Лучшие решения, а также другие забавные мифы"
(http://www.danappleman.com/index.php?p=33)

Автор: Дан Эпплман (Dan Appleman)
Дата: 24.01.2005
Перевод: hCORe

Редко на какой конференции, связанной с компьютерами, не ведутся доклады о "лучших решениях" всевозможных проблем. Поиск на Amazon.com выдает 166 книг компьютерной тематики с обещаниями "лучших решений" прямо в названии книжки и ошеломляющие 2500 совпадений, если искать в описаниях самих книг.

Что же это такое - лучшие решения? Для большинства - это отражение степени профессионализма. Чтобы быть профессиональным разработчиком ПО, надо иметь большую базу знаний. Чтобы быть хорошим разработчиком - надо знать и того больше. Обучение программированию и изучение языка (а лучше - трёх) - простая задача, но это только начало. Нельзя забывать, что существуют многочисленные средства как для разработки программ, так и для управления ими. Это и платформа, для которой вы пишете приложения (.NET Framework, Win32 API и т.д.), и сервисы, используемые вами (web-серверы, базы данных...) Все эти средства нуждаются в настройке. Большинство имеют свои внутренние языки программирования (например, я совсем недавно завершил проект, в котором мне приходилось одновременно писать код для VB.NET, C#, Regex [регулярные выражения], JavaScript и SQL.)

А база знаний - штука изменчивая. Через год-два приоритеты меняются, а база становится все больше и сложнее (уверен, .NET 2.0 в два раза лучше чем 1.1 - но во столько же раз сложнее его изучать.)

Мы не можем знать все. Если повезет, поймешь и запомнишь то, что нужно для решения сегодняшних задач. И только эксперт в какой-либо области может научить нас тому, что нам нужно - разумеется, показывая собственные решения, проверенные на опыте. То есть - "лучшие решения".

Звучит хорошо, не так ли?

Проблема в том, что эти "лучшие решения" запросто могут причинить вам вред. Потому что фраза "лучшие решения" ошибочна. Она неполна.

Правильная же фраза звучит так: "Лучшие решения для проблем класса такого-то".

"Лучшие решения" всегда связаны с определенным набором ситуаций. И если вы не знаете этих ситуаций, может приключиться беда. Ведь наилучшее решение для одной ситуации может стать наихудшим в другой.

Для примера:

Представьте, что вы создаете ASP.NET web-приложение. Каждый знает, что хорошо снижать нагрузку на сервер. Большинство "лучших решений" для ASP.NET содержат рекомендации по уменьшению трафика и снижению нагрузку на сервер. Вроде переноса процедур проверки данных на сторону клиента. Или выключения сохранения состояния страниц там, где это возможно.

И вы точно знаете, что эти рекомендации правильны и хороши.

Однако...

Представьте себе, что это же web-приложение содержит раздел, занимающий пол-сайта, который используется ужасно редко. Например, к нему имеют доступ только администраторы. Или он вообще никому не нужен.

Программирование web-приложения, активно использующего скрипты на клиентской стороне, может быть чрезвычайно сложным. Куча проблем возникает при разработке, отладке, управлении. Да и стоит разработка и поддержка во много раз дороже. Выходит, эти "лучшие решения" часто невыгодны. Их дорого и трудно реализовывать, а выгод от использования этих техник никто и не заметит.

Я видел проекты вроде этого, в которых разработчики придерживались рекомендаций Microsoft или экспертов, а в итоге приходили к первоклассным реализациям убогих архитектур приложения. Лучшие решения не заменяют понимания основ.

Так что, в следующий раз, включаясь в разговор о лучших решениях, или читая книгу, в которой о них говорится, не забудьте остановиться на минутку и подумать: "О лучших решениях для каких видов проблем идет речь?" Если это не ваша проблема, очень вероятно, что решение не подойдет вовсе.
Моду создают модоки, а распространяют модозвоны.

Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 107

    TopList