Владимир Паронджанов писал(а):
И вот в этот момент можно впервые сообщить пользователю (каким-то образом, пусть даже цветом), что есть незаполненные адреса.
Вот именно в этот момент пользователю это совершенно не нужно. И даже вредно, потому что можно пропустить или ответить не так и в результате не сохранить.
Поймите одну простую, базовую вещь: операция сохранения должна выполняться как можно более прозрачно и незаметно.
В идеале система автоматически должна сохранять каждый шаг, ничего не спрашивая и допуская возможность отката впоследствии.
Цитата:
А зачем его раньше отвлекать и беспокоить?
Решительно незачем.
Но опять же базовый принцип работы со сложной системой состоит в том, чтобы иметь визуальную разницу в объектах:
- где нельзя (запрещено) работать;
- где работа незавершена;
- где ничего не происходит (например, работа завершена и состояние сохранено).
Опционально очень полезно показывать изменения с начала сеанса редактирования (желательно с возможностью оперативного переключения глубины отображения).
Разумеется, визуальную разметку можно и нужно делать временно отключаемой. Но по умолчанию (при старте и после завершения транзакции редактирования) она должна быть включена автоматически.
Ваши вопросы в данном случае проистекают из-за того, что мало кто привык явно выделять
транзакцию редактирования.
Между тем, при работе с большими схемами (программами) это очень и очень важно.
Учтите, что у вас никогда не будет множества "красных элементов" на схеме (или это будет признаком неграмотной организации труда).
Если вы добавили в силуэт ветку, то разберитесь с нею, а не добавляйте сразу десять штук на всякий случай.
Если вы добавили развилку и "заземлили" оба выхода, то у вас есть рабочее пространство с двумя адресами - вы их чётко видите и сразу возвращаетесь взглядом в нужное место.
Другими словами, визуальное выделение текущего рабочего пространства - это тот же курсор, без которого работать почти невозможно, а ошибку совершить легче лёгкого.