- Если вы работаете исполнителем на стороннего заказчика, то переложите ответственность за выбор метода на него. Чтобы он сам отвечал, если что-то в будущем пойдет не так. Перед этим его желательно убедить, почему именно самый дорогой метод лучше дешевых.
- Если вы работаете в команде, все такие решения необходимо принимать, исходя из того, что ваша команда умеет, с чем вам проще и эффективнее работать. И тогда активно убеждать заказчика в выборе этого метода.
- Во всех остальных случаях я предлагаю сперва задать себе вопрос: "А с какой целью я делаю этот проект?"
В подавляющем большинстве случаев ответ будет "хочу заработать денег". Это и должно определять все ваши решения.
1. Чтобы проект зарабатывал деньги, он должен быть на рынке. Т.е. он должен работать. Это значит, что скорость разработки - один из важнейших факторов, ведь ту небольшую нишу, куда вы целитесь, может раньше занять кто-то более расторопный. Тут побеждает CMS с модификацией готовых тем и кучей готовых модулей на все случаи жизни.
2. Хорошенько распланируйте проект на логические подзадачи. Проанализируйте, какие есть инструменты для решения каждой из этих задач. Возможно, какая-то CMS, фреймворк, библиотека, либо даже язык программирования помогут вам решить данные конкретные задачи наиболее быстро и эффективно.
3. Не задумывайтесь сильно о качестве кода. Вам всё равно предстоит сильно переделывать проект в будущем. Если вашу задачу по зарабатыванию денег решит один единственный файл index.php, то и наплевать на всё остальное. Совсем говнокодить, конечно, не надо. Ваша задача сделать код максимально простым и понятным. Чтобы через несколько месяцев вы, только взглянув на участок кода, сразу понимали бы, что там происходит. А то бывает, напишешь настолько изящную систему типов, монады, рекурсии, чистые функции, отложенные вычисления, разобьешь код на функции по три строчки каждая, приправишь это всё DDD, чистой архитектурой, SOLID, DRY и прочим, а потом целый день разбираешься, почему не можешь поменять цвет кнопки с красного на синий...
Мораль: Да, инструмент всегда нужно выбирать под конкретную задачу. Но если вы, забив шуруп в доску микроскопом, обнаружите, что размера вашего кармана не хватает для потолстевшего кошелька, то можете смело плевать в лицо тем, кто будет вас осуждать за такое решение...