После недавнего запуска роли, которая по существу включает профессиональную разработку программного обеспечения на python, я заметил в коде, что я работаю с тем, что люди склонны читать в файлах как объекты, а не переменные, и я не могу понять, почему.
Например, я работаю с ограниченным количеством растровых файлов. В частях кода, которые имеют дело с этими растровыми файлами, может быть класс, явно определенный для чтения в растрах. Класс принимает местоположение файла, как при вводе, и затем использует пакет Python rasterio
, чтобы открывать, читать и получать доступ к другим характеристикам файла, но затем сохраняет их как атрибуты. Для дальнейшего примера у нас может быть что-то вроде следующего:
class test(object):
def __init__(self, fileLocation):
self.fileRead = open(fileLocation)
self.fileSplit = self.fileRead.split()
Моим инстинктом было бы просто прочитать файл как переменную и получить доступ к его свойствам, когда они мне понадобились, чтобы избежать лишних усилий.
Я знаю, что идея классов состоит в том, чтобы обеспечить упорядоченную обработку данных при работе с количествами данных аналогичного типа (т. Е. Информацией об учениках для учеников в школе), но этот класс может инициировать один экземпляр при каждом запуске родительской программы. , Так что для меня кажется немного излишним пытаться создать класс для хранения информации, полученной через rasterio
, когда, вероятно, будет гораздо чище просто получить доступ к данным файла, как вы хотите через явный звонки с rasterio
.
Теперь, этот вид структурирования кода, кажется, довольно распространен, и я просто не могу понять, почему это было бы хорошим способом делать вещи. Поэтому мне было интересно, есть ли какая-то скрытая выгода, которую я упускаю, которую кто-то может мне объяснить? Или же не обращать на это внимания и продолжать в изложенном порядке.