В этой статье мы займем безжалостную позицию: мы считаем злоупотреблением метаклассами любое их использование для решения проблемы, которая может быть решена без использования собственных метаклассов. Одним из наиболее распространенных сценариев метапрограммирования является создание классов с динамически формируемыми атрибутами и методами. Вопреки популярному заблуждению, в таких ситуациях в большинстве случаев вам не требуется использовать собственные метаклассы. Эта статья предназначена для двух групп читателей: рядовых программистов, которым было бы полезно знать приемы метапрограммирования, но их останавливают крайне сложные понятия; и умных программистов, которые слишком умны и должны были бы знать больше. Проблема с последними состоит в том, что умным быть очень просто, а для того, чтобы научиться быть проще, требуется много времени.
>>> Подробности