Вход на сайт
Автоматизация тестирования
8382 просмотров
Перейти к просмотру всей ветки
в ответ alex445 11.11.23 13:47
А не проще наоборот - сначала класс, а интерфейс из него одной командой вытаскивается?
Новечку, конечно, проще.
Однако в тот момент, когда ты начнешь писать тестируемый код, ты поймешь, что сначала должны быть интерфейсы :) Плюс ко всему, подход "интерфейсы вперед" позволяет задумываться об архитектуре на ренней фазе.
А марафет потом как-нибудь наведём.
Не наведешь :)
Во-первых, в 95% случаев на рефакторинг нет ни времени, ни бюджета. Т.е. должны быть очень веские причины (функционал, баги) для рефакторинга.
Во-вторых, код типа такого (все на классах)
public void Foo (DbConnection db, UserProvider provider) { UserService srv = new UserService (db); User user = srv.GetUser (provider); if (user != null) { user.Login (); } }
нетестируем и без рефакторинга тут уже ничего не сделаешь.