Как я могу помочь младшим участникам завоевать доверие в своей способности осуществить рефакторинг код? [закрытый]

Вы забыли добавить раздутый вид в диалог.

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)
7
задан Daniel Daranas 21 December 2011 в 08:28
поделиться

11 ответов

Единственный надежный ответ будет модульными тестами, по моему скромному мнению. Не обязательно TDD - просто получает их к тестам записи на существующие методы/классы, которые они хотят осуществить рефакторинг, удостоверьтесь, что они делают то, что они делают, затем позволяют им осуществлять рефакторинг как сумасшедший при доверии тестам, чтобы удостовериться, что методы все еще действительны.

Модульные тесты доверительного уровня и гибкости позволяют, очень ценны в этих видах операций.

17
ответ дан 6 December 2019 в 07:08
поделиться

Я рекомендую Вам иметь Модульные тесты, прежде чем запустят тяжелый рефакторинг, если у Вас будет хорошее покрытие кода, то путем простого запущения тестов Вы сможете видеть, если некоторый тестовый сбой, какой рефакторинг влиял на желаемое поведение программы.

В основном Поблочное тестирование может вселить Вам веру, которую должна осуществить рефакторинг Ваша команда.

3
ответ дан 6 December 2019 в 07:08
поделиться

Кажется, что программирование пары со старшим разработчиком в сочетании с записью тестов было бы оптимальной ситуацией. Если более опытный разработчик в паре будет ведущим, то тестирование просто будет частью ее.

Запись одних только тестов оставляет простор для совершенствования. Запись тестов в парной среде является лучшей из обоих миров и поэтому должна создать атмосферу более быстрого доверия.

4
ответ дан 6 December 2019 в 07:08
поделиться

Я соглашаюсь - модульные тесты и парное программирование.

0
ответ дан 6 December 2019 в 07:08
поделиться

Независимо от того, что, необходимо стремиться "к большему количеству парного программирования, TDD, обзоры кода и т.д.". Необходимо также удостовериться, что программисты (и Junior в течение многих лет и в привычках) квалифицированы в основных принципах.

Я reccomend, предполагающий, что они читают Код McConnell Рефакторинг Полного и Fowler.

1
ответ дан 6 December 2019 в 07:08
поделиться
  • Попросите, чтобы они записали или исследовали существующие тесты
  • Выполните те тестовые сценарии, запишите результат
  • Попросите, чтобы они осуществили рефакторинг код
  • рассмотрите осуществлять рефакторинг код
  • Работайте тестовые сценарии соответствуют предыдущим наблюдениям
0
ответ дан 6 December 2019 в 07:08
поделиться

Первый шаг должен был бы иметь их тесты записи на то, что они хотят осуществить рефакторинг СНАЧАЛА и затем осуществить рефакторинг. Я также думаю, что существует некоторая заслуга в обзорах кода с более старшими разработчиками, а также парным программированием.

0
ответ дан 6 December 2019 в 07:08
поделиться

Мое предложение состояло бы в том, чтобы взять систему, которая изменится вполне за время и позволит младшему разработчику дать план того, какие основы они хотят обратиться к нему, например, модульные тесты отсутствуют, что шаблон разработки может иметь смысл использовать для добавления новой функциональности, Вы чувствуете, что это - "хороший" код и в противном случае какие изменения Вы внесли бы в него? Часть этого получает их в код и довольная им как тогда, когда разработчик не знает то, что что-либо в системе делает, возможности, они хотят внести минимальные изменения из страха выламывания чего-то и последующего отрицательного падения. Если может быть старший член, который может действовать как наставник и вести, какие младшие разработчики предполагают во что-то, что лучшие соответствия, что разыскивается, это может быть большой вещью добраться там.

Обратите внимание, что для вышеупомянутого, что у старшего члена, вероятно, придется быть большое знакомство и способом уже сделанный планирование того, как внести изменения, которые сделает младший разработчик, но идея состоит в том, чтобы получить юниоров больше в код, то, как я видел бы его. Если младшие разработчики могут привыкнуть вскакивать в вещи и поощряются сделать это, то я вижу некоторый успех там. Ключ должен иметь идею того, как исправить то, что предлагает младший разработчик, и все же поощрите их давать больше в полный процесс, а не говориться, что сделать.

Некоторые люди, более вероятно, выделятся и рискнут, ключ - чтобы группа видела, как это складывается как, что Вы хотите в конце, группа младших разработчиков вся работа над различными решениями, где старший разработчик, возможно, первоначально создал систему или интегрировал различные продукты вместе и таким образом может дать вход на том, что должно быть сделано, но действие как руководство, а не родитель в получении сделанного материала.

Другой способ просмотреть это состоит в том, чтобы просто визуализировать вещи от представления младшего разработчика. Если они предлагают что-то и получают что-то, например, похвала или лучшие присвоения, то это может получить вещи, прокручивающиеся, хотя нужно быть осторожным на том, что дано, чтобы продолжать брать вещи на ступеньку выше, могут столкнуться с проблемами, если это становится слишком высоким.

0
ответ дан 6 December 2019 в 07:08
поделиться

Кроме того, попытайтесь делать некоторое додзе кодирования. Одна пара находится и программы в beamer, поворачивая одного разработчика каждые пять минут. Сделайте, чтобы они говорили о том, как они осуществляют рефакторинг, и почему.

См.: http://www.codingdojo.org/

0
ответ дан 6 December 2019 в 07:08
поделиться

Я рекомендовал бы, чтобы комбинация заказала, инструменты, кодировав и воспитав.

Перед чем-либо еще - заставляют кандидата покупать или одалживать Рефакторинг Martin Fowler и читать его.

Если у Вас есть хорошая система управления исходным кодом - это должно быть тривиально для создания отдельного ответвления для проигрывания с. Также, если конечный результат осуществления полезен, можно легко объединить его в соединительную линию.

Затем, выберите определенную задачу, которую Вы знаете, потребовал бы, чтобы они постигали структуру приложения. Например, попросите, чтобы они оснастили часть системы. Это обеспечивает задачу, в которой можно работать вместо общих директив (как чтение документация платформы или прочитать этот код),

Следующая часть должна попросить, чтобы тесты были записаны для поддержки функциональности, затронутой этой задачей. Рассмотрите тесты и поощрите писать комплексных испытаний. Важно использовать инструмент для этого как NUnit или если Ваш IDE поддерживает поблочное тестирование, используйте это. Поощрите человека задавать вопросы и узнавать, почему вещами является способ, которым они.

Если Вы используете IDE, который поддерживает его, представляют инструменты рефакторинга в IDE и поощряют их осуществлять рефакторинг код. Используйте программирование пары или регулярные обзоры кода для менторства человека. Тесты могут использоваться, чтобы показать, как модульные тесты являются жизненно важной частью хорошего усилия по рефакторингу. Начните с малого - может быть, меняют имена вещей или извлекают поля в свойства и затем перемещаются в более сложные.

Хотелось бы надеяться, к концу осуществления, мало того, что человек будет достаточно удобен для вопроса, тонкой настройки и изменять приложение и у Вас была бы некоторая полезная функциональность из него также :-)

0
ответ дан 6 December 2019 в 07:08
поделиться

Я полагаю, что вопрос не характерен для C#, таким образом, я предложу дать ему попытку с Java с помощью Eclipse. Eclipse имеет лучшие инструменты рефакторинга, которые я когда-либо видел до сих пор (хотя я никогда не пробовал IntelliJ IDEA или Resharper). Я извлек выгоду много путем изучения осуществляющий рефакторинг через Eclipse, особенно с помощью окна Preview прежде, чем выполнить любое изменение.

0
ответ дан 6 December 2019 в 07:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: