Реорганизация сценариев выгрузки и загрузки для многократного использования

reorganizaciya scenariev vygruzki i zagruzki dlya mnogokratnogo ispolzovaniya Сценарии на стороне клиента

Сценарии выгрузки и загрузки каталога, представленные в двух предыдущих разделах, вполне справляются со своей работой и были единственными примерами использования протокола FTP, исключая логику использования mimetypes, вошедшими во второе издание этой книги. Однако, если внимательно изучить эти два сценария, можно заметить общие черты, объединяющие их. Фактически они в значительной степени совпадают — в них используется идентичный программный код настройки параметров, соединения с FTP-сервером и определения типа файла. Конечно, со временем появились некоторые отличия в деталях, но часть программного кода определенно была просто скопирована из одного файла в другой.

Хотя такая избыточность и не является поводом для тревоги, особенно если в будущем не планируется изменять эти сценарии, тем не менее, в программных проектах в целом это обстоятельство вызывает неудобства. Когда имеется две копии идентичного программного кода, это не только опасно тем, что со временем они потеряют свою идентичность (при этом может быть утрачено единообразие пользовательского интерфейса и поведения сценариев), но и вынудит вас удваивать свои усилия, когда потребуется изменить программный код сразу в двух местах. Если только вы не любитель лишней работы, есть смысл приложить усилия, чтобы избежать такой избыточности.

Избыточность становится особенно явной, стоит только посмотреть на сложный программный код, использующий mimetypes для определения типов файлов. Повторение ключевого программного кода в нескольких местах практически всегда относится к неудачным идеям — не только потому, что нам придется вспоминать, как он действует, когда нам потребуется повторно писать ту же самую утилиту, но и потому, что такая организация способствует появлению ошибок.

Использованная литература:

Марк Лутц — Программирование на Python, 4-е издание, II том, 2011

Каталог сайтов Всего.ру
Оцените статью
Секреты программирования
Добавить комментарий