Истории с тегом: веб-разработка

Всего историй: 342

3994

Работает на патентованном быдлокоде

Уважаемые программисты, которые считают себя способными писать CMS! Вот краткое руководство, как задолбать того, кто будет пилить ваш код.

Никогда не пишите комментариев. Если вам код понятен, значит, он self-documenting.

Наплодите кучу файлов с именами: template1.php, template12.php, template7.php и т. д. Очевидно, что последняя рабочая версия — template21.php.

В дебрях своего кода напишите что-нибудь в духе: mysql_query($query) or die("Ошибка"). Забудьте о mysql_error(). Программисту доставит огромное удовольствие искать, в каком именно месте вылетел запрос, опираясь только на одно слово в окне браузера. Будет ещё лучше, если данная строка встречается в двадцати файлах.

Храните пароли в базе данных в незашифрованном виде. Во-первых, это очень круто. Во-вторых, не существует способов спереть дамп базы с мегазащищённого хостинга.

Не используйте стандартных шаблонизаторов вроде Smarty — пишите свой. Ну и что с того, что кривой? Зато свой, понятный.

Допустите 200+ ошибок в HTML-разметке. Валидаторы — для чайников.

3945

Ай да фокус

Вот и дошла очередь до индусов на IT happens. Коли холиворы «Linux vs. Windows» и «программисты vs. бухгалтеры» себя исчерпали, подкину свою вязанку хвороста в огонёк нового тренда.

Вот уже пару лет я по долгу службы занимаюсь работой с удалёнными командами. Попалась и команда из славной и могущественной страны Индии. Итак, задача: написать веб-страничку для айфона, которая будет выглядеть, как родное приложение. Казалось бы, есть jQTouch — садись и пиши код. Но наши ребята не робкого десятка!

После пары дней курения благовоний индусы выдают страничку логина. На айфоновский интерфейс совсем не похоже. Первое, что бросается в глаза: часть экрана занимают огромные надписи «login» и «password», которые должны выводиться прямо в полях ввода и исчезать, как только пользователь начинает что-нибудь вводить. Просим убрать и сделать «как там». Ещё день курения благовоний. Теперь текст внутри поля, но нужно его сначала удалить буква за буквой, чтобы ввести свой логин. Просим «как-то поправить». Ещё через день появляется апдейт, где надпись правильно исчезает, но как только пользователь убирает фокус, любой текст заменяется на слово «login». Теперь войти в систему не просто сложно, а вообще невозможно. А ведь задача решалась дополнительным параметом HTML-тега...

Может, они «великие и могучие», но на качестве кода 2000-летние родословные не сказались. Пускай уж лучше концентрируются на чём-нибудь другом, как, к примеру, Египет: история ничуть не хуже, но опыт строительства пирамид на ПО местные программеры не переносят.

3931

Пыхнуть со знанием дела

Дело было несколько лет назад, когда я учился в институте. На одной из лекций по ООП преподаватель, прожжённый пользователь С++, по какой-то причине переключился на разговор о вебе. Он очень увлечённо рассказал о том, что после того, как его 12-летний сын за два дня разобрался с PHP и сделал простенькую страничку, он вообще не считает веб-программистов за программистов. Тут поднимает руку мой приятель, который учился плоховато, зато к тому времени уже несколько лет работал программером.

— %professorName%, скажите, пожалуйста, а ваш сын может сделать интернет-магазин?

— Ну, если маленько подучится...

— А онлайн-кинотеатр?

— Нет.

— А систему моделирования «%systemName%» с веб-интерфейсом?

— Нет.

— Тогда, пожалуйста, запомните раз и навсегда: сложность задачи и простота средства реализации — разные вещи.

3875

Натянем оценку

Провинциальный институт, факультет информатики, четвёртый курс, предмет — JavaScript. Первый раз я появился на занятии в зачётную неделю. Преподавателем оказалась милая девушка, по виду которой сразу было всё понятно.

Зачёт проходил в форме контрольной. Я получил задание организовать поиск подстроки в тексте. Сделал. Преподаватель предлагает «три». Прошу дать задачу на «пять». В ответ слышу о задаче, которую никому и никогда не удавалось решить. Оказывается, в провинциальном вузе на факультете информатики студентам трудно даётся обработка событий drag-n-drop, поэтому задачку из этой области обычно на зачёте не дают, но мне, в порядке исключения, можно.

Читаю текст задания: «Создать два поля для ввода текста таким образом, чтобы была возможность выделять текст в одном поле и перетаскивать мышью в другое». Э-э-э, окей. Два поля