Должен ли я быстро комментировать код и тестировать позже? [Дубликат]

    

У этого вопроса уже есть ответ:

    

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

Спасибо!

6 голосов | спросил tjons 23 PM000000110000003631 2013, 23:23:36

5 ответов


3
  

Должен ли я быстро совершать код и тестировать?

После того, как функциональный фрагмент кода зафиксирован, он проверяет хорошее время . Другими словами, если проверочный код можно тестировать, выполните тестирование и не откладывайте .

Отсрочка тестирования (модульного тестирования или ручного) на совершенном коде немного отличается от зла . Это потенциально возможно для поймать вас плохо позже. Поскольку наложение на коммиты без тестирования не помогло бы продвинуть проект вперед.

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

Связанный вопрос об обмене стеками и блоге:

ответил EL Yusubov 23 PM000000110000005631 2013, 23:38:56
1

Как отмечали другие, отсрочка тестирования часто означает, что тестирование сокращается - даже в лучшем случае тестирование в далеком будущем от внедрения приводит к менее эффективному тестированию.

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

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

Я видел это в нескольких компаниях и прекрасно работает, пока ваша команда (или команда) достаточно дисциплинирована.

(обратите внимание: это не единственный способ успешно разработать программное обеспечение. Крошечные изменения, которые протестированы и проверены вместе, будут работать. Тест первой разработки будет работать. Что лучше всего подходит для вас для вас будет значительно отличаться о том, кто вы, что вы работаете и т. д.)

ответил Telastyn 23 PM000000110000002931 2013, 23:44:29
1

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

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

ответил atk 24 AM00000030000000131 2013, 03:45:01
1

Попробуйте быстрый темп:

  • Введите несколько новых функций
  • Построить локально
  • Проверить новый код
  • Завершите изменение, когда оно пройдет тесты.

Обычно я пытаюсь только выполнить рабочий код. Для нового кода я могу быть довольно слабым в определении работы. Для целей фиксации считается, что метод, возвращающий константу, но имеющий комментарий TODO (желательно в формате, который распознает IDE), считается рабочим. Новый метод, который генерирует ошибку времени компиляции, определенно не готов к фиксации.

Попробуйте код, который вы можете заполнить через час или около того. Очистите как можно больше тегов TODO, прежде чем переходить к новому коду. Законные причины оставить тег TODO могут включать:

  • Необходимая информация недоступна.
  • Для заполнения элемента требуется другой код. Это может быть следующим приоритетом развития.
ответил BillThor 24 AM00000050000003331 2013, 05:57:33
1

В моей идее все зависит. В игру входят партии других факторов:

  1. Есть ли у вашей команды специальный тестер?
  2. Вы спешите донести до клиента бродячую демонстрацию?
  3. Не возражаете ли вы, чтобы первый выпуск не имел ошибок?
  4. и т.д.. и др.

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

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

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

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

Также попробуйте повторно использовать тесты, написав автоматические тесты и далекие от ручного тестирования.

Как последнее предложение, я рекомендую вам уменьшить функции, потому что, как правило,

Меньше надежные функции перевешивают больше ошибок.

ответил Saeed Neamati 24 PM00000060000004331 2013, 18:44:43

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132