если они повторяются 2 или более раз надо отказываться и заменять их константами или функциями который эти строки возвращают.
Что думаете об этом?
я думаю можно сразу с 1 раза в константы выносить
с 1 раза, что выносить? Все строки?
зависит от
как вообще правильно константы в Python организовать? Они же кроме написания в верхнем регистре должны быть ещё и не изменяемые. Прикрепил реализацию, как это сделал я. Разбил все строки в проекте на классы и использую, но есть у меня мнение, что это мешает читаемости
А где ты их потом используешь?
по всему проекту
Давай-ка подробнее
Есть проект, в нём используются строки. Используются часто, часто повторяются. Решил заменить их константами, выбрал такое решение. Т.к. если константу можно изменить, это не константа, а просто глобальные переменные
в питоне констант нет в привычном понимании. да, технически любая "констнанта" может быть изменена. это нормально. равно как нет и спецификаторов доступа public \ private \ protected. ты используешь классы не по назначению, т.к. ты их используешь вместо неймспейсов. для этого в питоне предназначены модули и пакеты.
ну у меня есть модуль const.py внутри которого константы тоже разбиты, ну это окей, понятно. Вопрос, есть ли смысл так делать, заменять строковые литералы на константы?
Ты можешь больше слов вставить. Ты не добавил информацию
я не совсем понимаю, что ты ещё хочешь узнать
И все таки. Ты уверен, что это должны быть именно константные строки? Не имена полей, не динамические данные
Я так смотрю, что в основном это всё ключи словарей, да
Ну так я возвращаюсь к исходному вопросу: а это точно должны быть словари? Выглядит как классы
В целом наверное да, большинство можно в классы постараться засунуть
Ну и уйдут константы
++, спасибо
Обсуждают сегодня