Інтернет Мастерская

http://webarty.net/index.php?id=1517942538


Самое опасное слово в разработке программного обеспечения

06.02.2018 | источник: habrahabr.ru

«Просто размести это где-нибудь на сервере».

«Просто добавь кнопку “Избранного” справа от элемента».

«Просто добавь [вставьте здесь сложную опцию] в экране настроек».

Использование слова «просто» указывает на множество сделанных допущений. Несколько месяцев назад Брэд Фрост поделился некоторыми мыслями, какое отношение к знанию имеет это слово.

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

Он обращает внимание, что обучение никогда не бывает таким простым, каким кажется, и он прав. Но есть прямая корреляция между количеством ваших знаний и опасностью слова «просто». Чем больше вы знаете, тем более крупные проблемы решаете — и тем больше допущения, которые скрываются за этим словом.

Возьмите комментарий «Просто размести это где-нибудь на сервере». Сколько раз вы такое слышали? Но размещение стороннего локального проекта на реальных серверах требует времени, денег и тяжёлой работы. У каких-то крошечных программ могут быть неподходящие версии, и это нужно исправить. Для локально созданной системы, вероятно, не предусмотрели идеальное масштабирование.

«Просто» подразумевает, что всё необходимое для функции или системы уже продумано. Хуже того, оно предполагает, что все решения, которые нужно принять в ходе разработки, уже найдены — а так никогда не бывает.

Вещи изменяются, когда концепция превращается реальность. Как сказал Дэйв Вискус в недавнем выпуске Debug, «всё меняется, когда вы дотрагиваетесь до тела».

Кнопка «Избранного» может хорошо выглядеть справа, но в этом месте на неё может оказаться реально сложно нажать. Что если занесение в «Избранное» — не единственно возможное действие? Что тогда случится с кнопкой «Избранного»?

Даже если занесение в «Избранное» создано и протестировано, нужно снова пройти все шаги. В реальном использовании приносит ли эта кнопка достаточно пользы, чтобы оправдать своё существование? В конце концов, «когда функция вышла, вы прилипаете к ней».

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

Жизнь и смерть вашего продукта зависят от решений, найденных между появлением идеи и её реализацией, так что не надо просто размещать что-то где-то на сервере.