Павел Новицкий

Работает

16 сентября 2014, 15:15

Хорошая штука современный телефон. Звонки, фотографии, видео, чаты, игры, интернет — всё в одном гаджете. А ещё телефоном можно открывать пивные бутылки и забивать гвозди. Неудобно, да. Но можно же? Только никто телефон в качестве молотка не использует. Потому что глупо.

Но есть как минимум одна сфера деятельности, где понятие рациональности использования очень размыто. Разумеется, я говорю о нашем любимом программировании.

Для конкретной задачи всегда можно придумать несколько вариантов реализации. Единственное ограничения — уровень владения технологиями. Не знаю плохо это или хорошо, но при первом подходе мы всегда пытаемся найти решение «в лоб», основываясь на прошлом опыте. Позднее мозг переключается в режим «а что если» и, зачастую, находится более оптимальный способ. Но первоначально всё равно наша цель — «чтобы просто работало». Я не спорю, разуемется, кто-то способен выбрать верное направление и с первого раза, но таких людей, основываясь на личных ощущениях, где-то 1-2 на пару десятков. И дело не в том что кто-то лучше, а кому-то не дано. Просто так сложилось, наверно.

После первоначального «грубого» решения задачи возникает вопрос — переходить к следующей задаче или потратить ещё немного времени на эту? К сожалению, вернуться и подумать — не самый популярный вариант. Зачем менять, и так же работает?! Потом кто-нибудь проведёт рефакторинг и всё переделает. Это не существенно. Вот где-то здесь мне и видится тот самый телефон для забивания гвоздей.

Код как самоцель не важен, но и подход «работает — не меняй» — часовая бомба в фундаменте проекта.

Такое пафосное заключение. А началось всё с

SELECT `category_id`, 
(SELECT CONCAT(',', `product_ids`, ',')) AS 'like_ids'
FROM `ids` 
HAVING `like_ids` LIKE '%,9,%'
0 комментариев


Ваш комментарий
(обязательно)
(не показывается)
(HTML не работает)
© 2013-2017
Скопировать