AK>>При чём здесь строковые константы? Я не понимаю.
AK>>Можете дать какой-нибудь пример?
S>Я похоже переврал, что конкретно можно делать только resolve по имени, что ослабляло бы типизацию.
S>Но вот дискуссия на SO, которую я считаю релевантной -- https://stackoverflow.com/a/4988337/241446
S>В частности вот это:
S>S>Errors are pushed to run-time. If you configure your Guice module incorrectly (circular reference, bad binding, ...) most of the errors are not uncovered during compile-time. Instead, the errors are exposed when the program is actually run.
S>Т.е. из-за DI некоторые ошибки будут заметны на стадии исполнения, нежели при компиляции. Вероятно это ТС имел в виду.
я имел в виду банальную задачу:
есть фарш исторического кода, который неправильно работает
ты разбираешься в какой момент всё идёт неправильно, отслеживаешь объекты где используются, откуда получаются
и вот на 7м-13м уровне вложенности вызывов ты понимаешь, тебе надо срочно знать откуда берётся значение вот в этом объекте
прыг F12 (у меня это решарперовский GoToDefinition)
ага есть конструктор прыг Alt+F7 (у меня это FindUsages) а хрен тебе — он вызывается неявно в рамках DI
и хорошо если ты это ещё знаешь
а то вполне можешь подумать "ага, значит инициализируется не здесь", и пойти исследовать фарш дальше вглубь!
и это убийственно