На Марсе жизни нет
Мысль перебраться в Москву (пока мне не предложили там несколько десятков килобаксов) была официально признана отклонением от общего курса партии и приравнена к попыткам найти то место, «где хорошо и вас нет». Я с самого начала так и думал, просто хотелось услышать vox populi.Спасибо за.
Считайте, что это была провокация. Дальше можно не читать. Честно.
«Плацента-маск» — новое уникальное косметическое суперсредство, рекламируемое по телевизору. Лично у меня, когда я гляжу на эти светлые неморщинистые лица, возникает один вопрос: откуда плацентка-то? Один из первых ответов, который приходят на ум (причем не на мой) — отходы от абортов.
На этом фоне варка мыла из человеческого жира в «Бойцовском клубе» выглядит совсем блекло, даже если учесть аллюзию на Освенцим. «Мы продаем богатым женщинам их собственные жирные задницы».
Мы продаем богатым женщинам их собственных детей?
Впрочем, скорей всего, плацента разумеется, не человеческая. А от какой-нибудь коровы или свиньи. Но все равно, когда я слышу «плацента-маск» — я невольно вздрагиваю. Да здравствуют нездоровые ассоциации.
Вопрос на засыпку: какой самый лучший интерфейс?
Текстовый файл. Программа должна уметь принимать/понимать данные/настройки в виде простого текстового файла. Возьмем пример с ушками. Когда я впервые прикрутил их (за одну ночь), они были графические, и почти вся ночь ушла именно на их рисование, но все равно... тогда же родилась шутка, что если бы передо мной стояла задача прикрутить ушки на действующий проект компании, в которой я тогда работал, нужно было бы:
- созвать совещание и обсудить необходимость ушек;
- написать ТЗ по движку ушек для программистов;
- дождаться свободных программистских ресурсов;
- дождаться реализации движка ушек;
- поставить ТЗ дизайнерам по внешнему виду ушек;
- созвать совещание, где каждый выскажет свое несомненно компетентное мнение по поводу вариантов дизайна;
- утвердить после недели совещаний и доработок вариант, который устраивает всех;
- дождаться установки движка на рабочем сервере.
Причем в этой шутке, увы, слишком мало от шутки. Где-то проходит тоненькая черта между «разработкой на коленке» и «разработкой по-взрослому», и я «нутром чую», где именно, но, как говорится, «...различие между теорией и практикой на практике гораздо сложнее, чем в теории...». Порой черта проходит не там. Вернее, ее проводят не там.
Универсальность и ориентация на пользователя часто ведет к неоправданому усложнению разработки. Проблема в том, что иногда это оправданно, а иногда нет. И нужна мудрость, чтобы отличать первое от второго...
«Господи, дай нам милость принять со спокойствием те вещи, которые нельзя изменить, мужество, чтобы изменить вещи, которые должны быть изменены и мудрость, чтобы отличить первое от второго».
Вернемся к нашим ушкам. Как при желании можно было «улучшить» систему ушек? Пожалуйста: вместо того, чтобы заставлять бедного пользователя править какой-то текстовый файл, делаем веб-интерфейс. Совершенно полезная вещь: позволяет добавлять/редактировать ушки по одному. При этом «особых навыков» не требуется. То есть [сарказм] не требуется навыков редактирования txt-файла [/сарказм]. Если же мы хотим исправить сразу все ушки — мы не сможем это сделать. Веб-интерфейс заботится о нашем удобстве.
Следующий этап развития системы — я не вру, пример из жизни — обозвать ушки «html-баннерами» и не давать править их через веб-форму, а разрешить только закачивать их в систему в виде «одно ушко — один html-файл».
Тут дальше должны идти пространные рассуждения о KISS-принципе (Keep It Simple, Stupid), о грамотной организации процессов и других вещах, в которых я почти не разбираюсь.
Поэтому перейдем сразу к безосновательным и беспочвенным выводам.
1. Простые решения почти всегда являются самыми эффективными, но они слишком просты, чтобы быть признаны «профессиональными».
2. Но в конечном итоге после попытки реализации «серьезных» решений мы все равно так или иначе приходим к пункту 1, реализуя часть «профессиональных» решений по-простому, называя их «временными залипухами». © одни знакомые разработчики.
3. Усложняя систему, нужно отдавать себе отчет, зачем и для кого ты это делаешь. Если системой будет управлять один человек — может имеет смысл просто потратить время на его обучение?
4. Удобная система и сложная система — это не синонимы.
5. Простая система и непродуманная система — это тоже не синонимы.
Читал Programmer’s Stone. Много думал.