#django #naming-conventions #conventions
#джанго #соглашения об именовании #условные обозначения
Вопрос:
Проект, над которым я работаю, предполагает разделение данных на четыре отдельные категории. Эти категории имеют ключевое значение для логики проекта и появляются повсюду в коде. Проект в значительной степени завершен.
Вчера клиент попросил нас переименовать категории. Это очень простое изменение, которое должно появиться во внешнем интерфейсе, всего в нескольких строках кода. Однако старые имена используются во многих именах переменных, разбросанных по всему бэкенду, и потребуется довольно много времени, чтобы просмотреть код и обновить все имена переменных и комментарии.
Что лучше: сохранить старые имена переменных, сэкономить время и обеспечить согласованность для существующих разработчиков или потратить время на изменение имен переменных и обеспечить согласованность интерфейса и бэкэнда и сделать вещи более понятными для будущей разработки?
Комментарии:
1. Я думаю, что ответ здесь заключается в том, что эти 4 названия категорий не должны были присутствовать в именах переменных в первую очередь, а скорее определяться как константы. Это позволило бы довольно легко изменять имена категорий в серверной части. Теперь это своего рода компромисс. Если переименование также будет включать рефакторинг, который позволит вам легко переименовывать категории (или даже добавлять новые) в будущем, тогда это стоит сделать. В противном случае справедливым решением кажется только внесение изменений во внешний интерфейс в сочетании с надлежащей документацией.
2. @GlennDJ они присутствуют как константы (с использованием модели выбора django), поэтому изменение внешнего интерфейса так просто. Проблема с переменными больше связана с переменными, связанными с этими константами, например, «завершается» как переменная, содержащая все элементы, статус которых равен статусу. ЗАВЕРШЕНО (вышеупомянутая статика)