Как я включаю TDD в свой рабочий процесс как научный программист / студент / исследователь? [закрытый]

Во всех ответах пользовательский агент используется для обнаружения браузера, но обнаружение устройства на основе пользовательского агента не очень хорошее решение, лучше обнаруживать такие функции, как сенсорное устройство (в новом jQuery они удаляют $.browser и вместо этого используют $.support). ).

Для обнаружения мобильного телефона вы можете проверить наличие сенсорных событий:

function is_touch_device() {
  return 'ontouchstart' in window // works on most browsers 
      || 'onmsgesturechange' in window; // works on ie10
}

Взято из Как лучше всего обнаружить устройство с «сенсорным экраном» с помощью JavaScript?

9
задан 3 revs, 2 users 65% 23 May 2017 в 02:00
поделиться

3 ответа

Учитывая описание того, что вы делаете, я бы сначала поставил под сомнение это предположение. Я ничего не знаю о сложности ваших программ, но если ваше кодирование состоит исключительно из генерации вычислений и является своего рода «уровнем сценария», то есть для заданного фрагмента кода вы можете так же легко выбросить его и переписать его как оставить, тогда многие из этих приемов будут излишними. Я думаю, что TDD (возможно, спаренная версия, которая объединяет в себе интеграционное тестирование) всегда будет ценным, но помимо этого, не обязательно.

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

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

2
ответ дан 3 November 2019 в 07:48
поделиться

Вы не можете сделать все сразу (вы это знали). Некоторые методы экономят ваше время, и TDD и рефакторинг занимают первые места в этом списке. В частности, с TDD - не беспокойтесь о том, когда это делать, делать ли это, как вписать это в свой график; просто сделай это. Чем раньше вы начнете, тем быстрее это сэкономит ваше время. Когда у вас появится этот навык, тогда, когда вы приступите к задаче на устаревшем коде, напишите вокруг него тесты, чтобы защитить вас (нет, это не TDD, но будут применяться навыки написания тестов, которые вы отточили с помощью TDD). Когда у вас есть хорошее покрытие модуля, который нужно изменить, вы можете свободно его рефакторировать, часто выполняя тесты. Из книг, которые вы упомянули в описываемой вами ситуации, следующая, которую я бы рекомендовал прочитать, - это книга Майкла Фезерса «Эффективная работа с устаревшим кодом» - она ​​даст вам уловки, которые помогут вам продвинуться вперед.

Однако пока TDD все. Это сэкономит вам время раньше, чем вы себе представляли, и вы сможете потратить это время на изучение большего количества лучших методов.

А пока: TDD все. Это сэкономит вам время раньше, чем вы себе представляли, и вы сможете потратить это время на изучение большего количества лучших методов.

А пока: TDD все. Это сэкономит вам время раньше, чем вы себе представляли, и вы сможете потратить это время на изучение большего количества лучших методов.

1
ответ дан 3 November 2019 в 07:48
поделиться

Я бы начал с книги «Рефакторинг» (потому что вы упомянули, что у вас много устаревшего кода) и попытался бы читать ее по часу. Затем в следующий раз, когда вы будете программировать, поищите способы применить то, что вы читаете.

Как только вы начнете чувствовать, что освобождаетесь от времени, посмотрите другие книги. Я также рекомендую книгу Code Complete для улучшения ваших навыков.

1
ответ дан 3 November 2019 в 07:48
поделиться
Другие вопросы по тегам:

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