Найти - Пользователи
Полная версия: статический метод
Начало » Python для новичков » статический метод
1 2
Zubchick
Здравствуйте! Не большой я фанат ООП программирования, поэтому у меня затык:
Есть у меня класс - кубик Рубика, есть несколько независимых глобальных функций типа поворотов матриц, перестановки столбцов-строк и т.п. Методы кубика используют эти фукнкции. Больше их никто не использует, да и не надо бы. Так вот вопрос, как правильно сделать: оставить эти функци глобальными или сделать статическими для кубика? Или может еще чего :)
PooH
А нету никакого универсального правильно все зависит от архитектора и его настроения ;)
Zubchick
да ну :)
regall
PooH
А нету никакого универсального правильно все зависит от архитектора и его настроения wink
А как же:
Tim Peters

There should be one– and preferebly one –obvious way to do it?
bazooka
про правильность там ниче ненаписано
Kogrom
Zubchick
Методы кубика используют эти фукнкции. Больше их никто не использует, да и не надо бы.
Если никто не должен их использовать, то запрятать в кубик. Не ясно только, почему они должны быть статическими.

Если их кто-то другой будет использовать, то можно эти функции упаковать в модуль. Но рассуждать теоретически смысла мало - лучше код смотреть.
sypper-pit
а чем это собственно от принципов “this”
sypper-pit
есть же такая штука как “формула бога” :) для решения кубика Pубик'а :) http://log.alex.pp.ru/post/32236323/rubic так или :) же так :) http://www.pspx.ru/forum/archive/index.php/t-76247.html , вот тоже хороший метод http://odinokov.org/articles/instructions/krubik
Zubchick
да мне не надо решать, у меня алгоритм шифрования :)

Не ясно только, почему они должны быть статическими.
функции самодостаточные, работают просто с любыми матрицами :) Если мы делаем их методами, то зачем им передавать экземпляр класса?
Ferroman
Логично было бы сделать их статическими методами, и, прикрыть _, если больше никому не надо из использовать. Если их использование влияет на из содержание.
Если функции слишком общие, и потенциально не будут меняться вместе с классом, который их использует, то, думаю, стоит оставить отдельно. Авось ещё где пригодятся :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB