После всего лишь 6-9 месяцев. Вероятно, я несколько раз менял свой стиль кодирования после прочтения некоторого кода или чтения передового опыта. Но одна вещь, с которой я еще не столкнулся, это хорошая причина для заполнения template_dict.
На данный момент я передаю template_dict ряду методов (которые изменяют / модифицируют его) и возвращает is. В результате каждый метод принимает template_dict в качестве первого аргумента и возвращает его, и это, на мой взгляд, не лучшее решение.
Идея состоит в том, чтобы иметь метод, который обрабатывает все изменения. Но мне интересно, есть ли лучшая практика для этого? Или это «делай то, что чувствуешь», типа вещей?
2 вещи, которые я считаю довольно уродливыми, это отправлять в качестве аргумента и возвращать его во всех методах. И просто имя переменной пишется ххх число раз в коде:)
.. Фредрик
РЕДАКТИРОВАТЬ :
Чтобы продемонстрировать, что я имею в виду с template_dict (я думал, что это общий термин, я получил его от google реализации шаблонных методов django).
У меня есть требование, которое я передаю шаблону с помощью метода render.template:
template.render(path, template_dict) #from google.appengine.ext.webapp import template
Этот template_dict мне нужно манипулировать, чтобы отправлять данные / dicts / lists в представление (html-файл). Если я не ошибаюсь.
Итак, с учетом этого мой код обычно выглядит примерно так:
## Main.py file to handle the request and imports classes.
from models import data
from util import foo
class MainHandler(webapp.RequestHandler):
template_dict = { 'lang' : 'en' }
## reads all current keys and returns dict w/ new keys, if needed
template_dict = data.getData(template_dict)
if 'unsorted_list' in template_dict:
template_dict = util.foo(template_dict)
## and so on....
path = os.path.join(os.path.dirname(__file__), 'templates', file)
self.response.out.write(template.render(path, template_dict))
В большинстве моих приложений многие возвращаемые значения и наборы появляются не в main.py, а в других классах и методах.
Но вы должны сделать общую идею.