Представления для добавления/редактирования


2 0

Очень часто приходится создавать формы (в классическом программировании) и представления (в web программировании) для редактирования и добавления чего-либо. Очень прошу тех, кто любит создавать отдельные формы/представления для каждой из этих операций - не делайте этого. Я не встречался еще с ситуацией, когда это действительно было полезно. Всегда разделяйте один и тот же код для редактирования и добавления.

Достаточно завести какое-то свойство, которое будет хранить ID текущей записи. если свойство равно нулю или NULL, то это форма добавления и можете спрятать какие-то поля, которые не имеет смысла или нельзя изменять при добавлении. Если поле не нулевое, то это редактирование. При сохранении достаточно проверить это свойство/параметр формы и заменять Insert на Update. 

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

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


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

Evilgen

23 Ноября 2012

Да, серьезные темы не встречают отклика, потому что тут в основном тролли).
Не очень понятно про что речь - MVC?
Кстати, вот как раз встретился с такой проблемой - нужно спрятать один select. При создании объекта - он не нужен, при редактировании - нужен. Сижу вот и думаю [s]зачем сдавал трек на отборочный[/s] как это культурно сделать, чтоб не делить на 2 представления.
насчет того что 6 одинаковых представлений - верю, это ж какой-нть канацкий код... индусского происхождения)


Wotan Jugend

23 Ноября 2012

Я обычно делаю одну форму, работающую со всеми операциями [insert,update,etc], содержащую в конструкторе параметр вызова(для чего именно его вызывают). А дальше она сама знает что в каких случаях можно делать,в каких нельзя


Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне