У меня есть эти три функции, и я нахожу это уродливым, чтобы повторить все тот же код, это вовсе не СУХОЙ. В то же время, я не уверен, как я могу реорганизовать эти функции, чтобы сохранять четкое выражение. Не могли бы вы порекомендовать что-нибудь?Дизайн шаблона для рефакторинга
Благодаря
def download_loc(instance, filename):
username = instance.username_or_anonymous()
slug = instance.slug
filename_with_timestamp = filename_timestamped(instance, filename)
return "%s/%s/stl/%s" % (username, slug, filename_with_timestamp)
def preview_loc(instance, filename):
username = instance.username_or_anonymous()
slug = instance.slug
filename_with_timestamp = filename_timestamped(instance, filename)
return "%s/%s/preview/%s" % (username, slug, filename_with_timestamp)
def screenshot_loc(instance, filename):
username = instance.username_or_anonymous()
slug = instance.slug
filename_with_timestamp = filename_timestamped(instance, filename)
return "%s/%s/screenshot/%s" % (username, slug, filename_with_timestamp)
вы делаете тип (СТЛ, предварительный просмотр и скриншот) другой параметр и есть одна функция – Leon
Посмотрите на то, что это то же самое, посмотрите на то, что по-другому, инкапсулировать каждый. –