На RSDN сейчас развивается большой флейм под общим заголовком “Что-то нетак с ООП”. Насколько я смог заметить по беглому просмотру, одной из обсуждаемых тем там является повторное использование кода.
Имхо, очень точно на эту тему высказался в 1996-м году Ричард Гэбриель, один из известных Lisp-ероводов, в книге Patterns Of Software. Tales from the Software Community. Насколько точно, что я даже потратил некоторое время на то, чтобы перевести соответствующую главу на русский язык.
Поэтому без ложной скромности отсылаю интересующихся к этому переводу. Настоятельно рекомендую даже ;)
PS. В самой же книге, помнится, я осилил только несколько первых глав. Мне показалось, что чем дальше, тем больше мы расходимся во мнениях с автором. В результате чего книгу я не дочитал, может быть зря.
Опечатка в переводе (падеж последнего слова):
ОтветитьУдалить"Похожей идеей были “Накопленные Алгоритмы”
опубликованные ACM много лет назад в виде кода на ALGOL-подобном языка."
Спасибо! Исправил.
Удалить1. есть еще один взгляд на ооп, кроме сжатия -- данные упаковываются в класс для того, чтобы поддерживать инварианты
ОтветитьУдалить2. ну да, сжатие... неявная зависимость от неявного контекста это плохо -- для борьбы с этим используются mixin (че-то похожее можно даже и в с++) и тайпклассы/концепты -- уже не ооп; в другой стороны, заставь всех явно выписывать требования, *очевидные* из контекста, с целью получить хороший code reuse -- разработчики возмутятся
и да, это стоит денег -- время тратится *сейчас*, а профит от реюза *возможно* будет в *будущем*
Женя, спасибо за перевод и вообше за то, что выделил нужный кусок. Тема эта меня например волнует уже давно.
ОтветитьУдалить