Для контекста, в прошлой жизни я работал над базой кода, которая была разработана более 25 лет (и считал). Кодовая база была завалена этими префиксами, которые имели смысл в то время, но по многим причинам со временем, когда данные поступали, больше не имели смысла.
- Источник 2 стал лучшим местом для извлечения foo, чем источник 1
- Источник 1 обанкротился
- Источник 1 был заменен
- и т.д.
Проблема возникла из-за того, что использование полей было настолько укоренившимся, что обновление было бы огромной задачей, поэтому значение их префиксов стало неактуальным.
Важной частью переменных всегда является то, что они представляют, а не то, откуда они берутся, поэтому я бы не советовал использовать префикс для этого варианта использования. Я бы посоветовал просто сохранить переменные простыми и инициализировать их в соответствии с методами, которые объясняют, откуда они берутся, если это необходимо.
def __init__(self):
self.init_source1()
self.init_source2()
def init_source1(self):
self.name = foo
def init_source2(self):
self.x = bar
Если посмотреть на базу кода, то станет ясно, где находится источник, и его можно будет изменить при необходимости