Создать пользователя и изменить пользователя - СУХОЙ или разделение, что более важно - PullRequest
1 голос
/ 25 июня 2010

Мне интересно, что думают более опытные разработчики о том, как обрабатывать практически идентичные процессы, такие как пользователь, создающий профиль, и пользователь, редактирующий свой профиль.На данный момент у меня есть один метод контроллера и одно представление, которые обрабатывают различие между новым пользователем и существующим / редактирующим пользователем, просто передавая флаг $ edit, так что я знаю, чтобы обрабатывать любые небольшие различия между ними.Наличие этих условных выражений в моем методе контроллера и представлении выглядит немного беспорядочно, но в то же время возникает ощущение дублирования для создания отдельного представления и метода контроллера для каждой ситуации.Что люди склонны делать в этой ситуации?

Ответы [ 2 ]

2 голосов
/ 25 июня 2010

Я думаю, вы всегда должны учитывать долгосрочные аспекты проектных решений.

Может быть, лучше разделить эти функции, но тогда у вас есть две чистые функции. Так что с точки зрения эстетики вы могли бы поспорить в любом случае. Существует вечный компромисс между чистым дублированным кодом и поддержкой.

Однако в долгосрочной перспективе в игру вступают другие соображения, и вы начинаете думать о рисках. Риск дублирования кода состоит в том, что две части кода становятся не синхронизированными, возможно, скрытыми способами, которые трудно обнаружить (например, можно добавить данные, которые отклоняются при обновлении). Это может быть намного хуже, если вы не являетесь лицом, обслуживающим код, или вы не касались кода в течение длительного времени.

Так что ИМХО сохраняйте флаг редактирования. У вас все в одном месте, хотя это и грязно.

1 голос
/ 25 июня 2010

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

Затем раздел «Профиль» вашего сайта может обрабатывать все оставшиеся данные пользователя, не беспокоясь о том, является ли это новый или существующий пользователь.

По моему опыту, люди склонны отчаиваться при регистрации чего-либо, если в самом начале задают слишком много вопросов! Отложите то, что действительно не нужно, и соберите эту информацию позже!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...