Мультипарадигменные языки

В языке, таком как (поскольку я сейчас работаю над ним) PHP, который поддерживает процедурные и объектно-ориентированные парадигмы.

Есть ли хорошее правило для определения того, какая парадигма лучше всего подходит для нового проекта? Если нет, как вы можете принять решение?

Ответы

Ответ 1

Все зависит от проблемы, которую вы пытаетесь решить. Очевидно, что вы можете решить любую проблему в любом стиле (процедурный или OO), но обычно вы можете понять на этапах планирования, прежде чем начинать писать код, который подходит вам лучше.

Некоторым людям нравится писать примеры использования, и если они видят много одинаковых существительных, появляющихся снова и снова (например, человек снимает деньги с банка), то они идут по маршруту OO и используют существительные как их объектов. И наоборот, если вы не видите много существительных и там действительно больше глаголов, то процедурный или функциональный может быть способ пойти.

Стив Йегге имеет отличный, но длинный пост, как обычно, который затрагивает это с другой точки зрения, которая также может оказаться полезной.

Ответ 2

Если вы делаете что-то для себя или используете только прототип или проверяете идею... используйте свободный стиль, который дает вам язык script.

После этого: всегда думайте об объектах, старайтесь организовать свою работу вокруг парадигмы OO, даже если вы пишете процедурные материалы. Затем, рефакторизуйте, рефакторизуйте, переформатируйте.