среда, 1 июня 2011 г.

Прежде чем вы разработаете решение: убедитесь, что вы понимаете проблему

Это перевод Before you develop a solution, make sure you really understand the problem. Автор: Реймонд Чен.

Частым препятствием к оказанию помощи людям является то, что то, что люди просят, и то, что они на самом деле хотят - не всегда совпадает.

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

К примеру, буквальный ответ на "Как мне написать регулярное выражение, которое соответствует всему, кроме XYZ" часто является ужасным месивом кода, но если вы копнёте глубже, то увидите, что им, на самом деле, не нужно использовать именно регулярные выражения, которые соответствуют всему, кроме XYZ; они просто "упростили" их проблему до "Я знаю: я использую регулярные выражения" и это создало им большую проблему (кстати, почти всегда наилучшим решением является смесь регулярных выражений и обычной программной логики).

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

1 комментарий:

  1. Анонимный14 июня 2011 г., 23:17

    По-моему вы тоже про это писали: http://www.gunsmoker.ru/2008/10/x-y-z.html

    ОтветитьУдалить

Можно использовать некоторые HTML-теги, например:

<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>

Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку (поддерживается OpenID).

Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.

Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.