Вы забыли добавить раздутый вид в диалог.
class CustomDialog {
companion object {
fun create(context: Context, content: String) {
context as Activity
val inflater = context.layoutInflater
val view = inflater.inflate(R.layout.dialog_info, null)
val infoDialogBuilder = AlertDialog.Builder(context)
infoDialogBuilder.setView(view)
val infoDialog = infoDialogBuilder.create()
view.dialog_content.text = content
view.dialog_okButton.setOnClickListener {
println("CLICKED")
infoDialog.dismiss()
}
infoDialog.setContentView(view)
infoDialog.show()
}
}
Это пропущенная строка:
infoDialogBuilder.setView(view)
Единственный надежный ответ будет модульными тестами, по моему скромному мнению. Не обязательно TDD - просто получает их к тестам записи на существующие методы/классы, которые они хотят осуществить рефакторинг, удостоверьтесь, что они делают то, что они делают, затем позволяют им осуществлять рефакторинг как сумасшедший при доверии тестам, чтобы удостовериться, что методы все еще действительны.
Модульные тесты доверительного уровня и гибкости позволяют, очень ценны в этих видах операций.
Я рекомендую Вам иметь Модульные тесты, прежде чем запустят тяжелый рефакторинг, если у Вас будет хорошее покрытие кода, то путем простого запущения тестов Вы сможете видеть, если некоторый тестовый сбой, какой рефакторинг влиял на желаемое поведение программы.
В основном Поблочное тестирование может вселить Вам веру, которую должна осуществить рефакторинг Ваша команда.
Кажется, что программирование пары со старшим разработчиком в сочетании с записью тестов было бы оптимальной ситуацией. Если более опытный разработчик в паре будет ведущим, то тестирование просто будет частью ее.
Запись одних только тестов оставляет простор для совершенствования. Запись тестов в парной среде является лучшей из обоих миров и поэтому должна создать атмосферу более быстрого доверия.
Я соглашаюсь - модульные тесты и парное программирование.
Независимо от того, что, необходимо стремиться "к большему количеству парного программирования, TDD, обзоры кода и т.д.". Необходимо также удостовериться, что программисты (и Junior в течение многих лет и в привычках) квалифицированы в основных принципах.
Я reccomend, предполагающий, что они читают Код McConnell Рефакторинг Полного и Fowler.
Первый шаг должен был бы иметь их тесты записи на то, что они хотят осуществить рефакторинг СНАЧАЛА и затем осуществить рефакторинг. Я также думаю, что существует некоторая заслуга в обзорах кода с более старшими разработчиками, а также парным программированием.
Мое предложение состояло бы в том, чтобы взять систему, которая изменится вполне за время и позволит младшему разработчику дать план того, какие основы они хотят обратиться к нему, например, модульные тесты отсутствуют, что шаблон разработки может иметь смысл использовать для добавления новой функциональности, Вы чувствуете, что это - "хороший" код и в противном случае какие изменения Вы внесли бы в него? Часть этого получает их в код и довольная им как тогда, когда разработчик не знает то, что что-либо в системе делает, возможности, они хотят внести минимальные изменения из страха выламывания чего-то и последующего отрицательного падения. Если может быть старший член, который может действовать как наставник и вести, какие младшие разработчики предполагают во что-то, что лучшие соответствия, что разыскивается, это может быть большой вещью добраться там.
Обратите внимание, что для вышеупомянутого, что у старшего члена, вероятно, придется быть большое знакомство и способом уже сделанный планирование того, как внести изменения, которые сделает младший разработчик, но идея состоит в том, чтобы получить юниоров больше в код, то, как я видел бы его. Если младшие разработчики могут привыкнуть вскакивать в вещи и поощряются сделать это, то я вижу некоторый успех там. Ключ должен иметь идею того, как исправить то, что предлагает младший разработчик, и все же поощрите их давать больше в полный процесс, а не говориться, что сделать.
Некоторые люди, более вероятно, выделятся и рискнут, ключ - чтобы группа видела, как это складывается как, что Вы хотите в конце, группа младших разработчиков вся работа над различными решениями, где старший разработчик, возможно, первоначально создал систему или интегрировал различные продукты вместе и таким образом может дать вход на том, что должно быть сделано, но действие как руководство, а не родитель в получении сделанного материала.
Другой способ просмотреть это состоит в том, чтобы просто визуализировать вещи от представления младшего разработчика. Если они предлагают что-то и получают что-то, например, похвала или лучшие присвоения, то это может получить вещи, прокручивающиеся, хотя нужно быть осторожным на том, что дано, чтобы продолжать брать вещи на ступеньку выше, могут столкнуться с проблемами, если это становится слишком высоким.
Кроме того, попытайтесь делать некоторое додзе кодирования. Одна пара находится и программы в beamer, поворачивая одного разработчика каждые пять минут. Сделайте, чтобы они говорили о том, как они осуществляют рефакторинг, и почему.
Я рекомендовал бы, чтобы комбинация заказала, инструменты, кодировав и воспитав.
Перед чем-либо еще - заставляют кандидата покупать или одалживать Рефакторинг Martin Fowler и читать его.
Если у Вас есть хорошая система управления исходным кодом - это должно быть тривиально для создания отдельного ответвления для проигрывания с. Также, если конечный результат осуществления полезен, можно легко объединить его в соединительную линию.
Затем, выберите определенную задачу, которую Вы знаете, потребовал бы, чтобы они постигали структуру приложения. Например, попросите, чтобы они оснастили часть системы. Это обеспечивает задачу, в которой можно работать вместо общих директив (как чтение документация платформы или прочитать этот код),
Следующая часть должна попросить, чтобы тесты были записаны для поддержки функциональности, затронутой этой задачей. Рассмотрите тесты и поощрите писать комплексных испытаний. Важно использовать инструмент для этого как NUnit или если Ваш IDE поддерживает поблочное тестирование, используйте это. Поощрите человека задавать вопросы и узнавать, почему вещами является способ, которым они.
Если Вы используете IDE, который поддерживает его, представляют инструменты рефакторинга в IDE и поощряют их осуществлять рефакторинг код. Используйте программирование пары или регулярные обзоры кода для менторства человека. Тесты могут использоваться, чтобы показать, как модульные тесты являются жизненно важной частью хорошего усилия по рефакторингу. Начните с малого - может быть, меняют имена вещей или извлекают поля в свойства и затем перемещаются в более сложные.
Хотелось бы надеяться, к концу осуществления, мало того, что человек будет достаточно удобен для вопроса, тонкой настройки и изменять приложение и у Вас была бы некоторая полезная функциональность из него также :-)
Я полагаю, что вопрос не характерен для C#, таким образом, я предложу дать ему попытку с Java с помощью Eclipse. Eclipse имеет лучшие инструменты рефакторинга, которые я когда-либо видел до сих пор (хотя я никогда не пробовал IntelliJ IDEA или Resharper). Я извлек выгоду много путем изучения осуществляющий рефакторинг через Eclipse, особенно с помощью окна Preview прежде, чем выполнить любое изменение.