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

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

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

6.08.2008 21:02:16
2 ОТВЕТА
РЕШЕНИЕ

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

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

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

10
6.08.2008 21:15:35

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

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

2
6.08.2008 21:48:58