У меня был коллега, который сказал мне, что он когда-то работал в компании, у которой была политика никогда не иметь условностей ( "если" и "переключаться" ) в код и что они допускают все решения в коде выполняются с использованием полиморфизма и (я предполагаю) некоторые другие принципы OO.
Я разбираюсь в рассуждениях о том, что код более суровый и легче обновляется, но я ищу более подробное объяснение этой концепции. Или, возможно, это часть более общего подхода к дизайну.
Если у кого-то есть какие-либо ресурсы для этого или они будут готовы объяснять или даже иметь некоторые дополнительные термины, связанные с этим, я могу использовать, чтобы найти больше ответов, которые я был бы очень обязан.
Я нашел один вопрос на SO, который был родственным, но я не знаком с С++, поэтому я не понимаю слишком много ответов там.
(Я не OO гуру, но я могу справиться)
Я больше всего разбираюсь в PHP, и после этого Python, поэтому я бы предпочел информацию, которая использует эти языки.
Обновление: я попрошу моего коллегу узнать больше о том, что он имел в виду.
Обновление 2015: после некоторого более лет опыта программирования я вижу теперь, что цель этой политики, вероятно, заключалась в том, чтобы не допустить, чтобы программисты добавляли функциональность случайным образом, просто добавляя условные выражения (если утверждения) в определенных местах. Лучшим способом расширения программного обеспечения является использование "Принцип Open/Closed" , где программное обеспечение расширяется с помощью наследования и полиморфизма. Я категорически сомневаюсь, была ли политика строго строгой во всех условностях, так как она не могла полностью пройти без них.