Библиотека IBM: метаклассы в Python – пропаганда и критика

«Многосерийный» материал, посвященный различным аспектам применения метаклассов при программировании на языке Python, появился в русскоязычной версии технической библиотеки на сайте IBM.

Несмотря на несомненно техническую направленность статей, в целом не обошлось без элементов, обычно присущих скорее литературным произведениям. Публикации оригинальных англоязычных материалов были разделены временем, и это способствовало развитию своеобразной интриги. В первой статье соавторы, программист Девид Мертц (David Mertz) и физик Мишель Симионато (Michele Simionato), расписывают преимущества, обретаемые вместе с применением метаклассов в Python. Во второй, учитывающей многочисленные отзывы некоторых растерянных читателей, уделяется много внимания рассмотрению тонкостей – отношению метаклассов к другим понятиям ООП, сравнению создания экземпляров класса и наследования, различиям между методами классов и метаметодами, а также объяснению, как разрешать конфликты метаклассов.


Первые две статьи получили достаточно широкую известность, благодаря им охотников использовать метаклассы при программировании на Python существенно прибавилось, но, к огорчению авторов, проявился и негативный эффект – часто программисты стали использовать неоправданно «заумные» конструкции, упуская из внимания более простые способы достижения требуемой функциональности. В связи с этим Мертц и Симионато попытались в какой-то степени исправить ситуацию, к возникновению которой в немалой степени «приложили руку» они сами. Результатом их «искупления вины» стала третья статья, в которой соавторы предостерегают от «злоупотребления метаклассами» и приводят примеры решения с применением более простых средств. При этом они честно признаются, что им самим «потребовалось несколько месяцев, чтобы понять, как использовать метаклассы, но на то, чтобы понять, как их не использовать, ушло несколько лет».


3dnews.ru

Це цікаво:   SoftServe запускає лабораторію генеративного ШІ і шукає фахівців

Новини IT » Software » Библиотека IBM: метаклассы в Python – пропаганда и критика

Опубліковано


Останні новини IT: