Метод Карты о лучшем существует. Это позволяет Вам инкапсулировать операторы и разбивает вещи вполне приятно. Полиморфизм может дополнить его, но его цели немного отличаются. Это также представляет ненужные деревья класса.
Переключатели имеют недостаток пропавших без вести операторов завершения и проваливаются и действительно поощряют не повреждать проблему в мелкие кусочки.
, Что быть сказанным: маленькое дерево если.. else's прекрасен (на самом деле, я спорил за в течение многих дней о, имеют 3 если.. elses вместо того, чтобы недавно использовать Карту). Когда Вы начинаете помещать более сложную логику в них, что это становится проблемой из-за пригодности для обслуживания и удобочитаемости.
Функция автозаполнения подрывной версии настраивается в файле конфигурации вашего клиента SVN. Существует также отдельный файл конфигурации серверов , который поддерживает специфичные для сервера настройки, но, к сожалению, вы не можете там переопределить автопропускание.
Я предлагаю вам сделать две версии config: config.home и config.work . Затем напишите сценарий оболочки (например, файл .bat), который копирует один из сценариев config . Это должно позволить вам быстро и легко переключаться между обеими конфигурациями.
Я также написал небольшой командный файл Windows для рекурсивного удаления свойства needs-lock
из любых папок, где оно уже было установлено. Поместите эти строки в текстовый файл:
svn propdel svn:needs-lock -R -q "%1"
svn commit "%1" -m "Removed needs-lock"
Сохраните его как remove-needs-lock.bat
и добавьте его местоположение в переменную среды PATH. Затем вы можете запустить:
remove-needs-lock c:\workingcopyfoldername
И, прежде всего, все файлы больше не требуют блокировки для редактирования.