Стоит ли в репозиторий делать коммиты, содержащие методы с NotImplementedException?

Хоть суть отражена в вопросе, хочу более детально описать ситуацию:
Например класс реализует интерфейс с большим набором методов. Каждый метод - на мой взгляд отдельная задача и должна быть оформлена отдельным коммитом. Процесс в моем понимании такой:
  1. Делаем коммит класса с нереализованными методами
  2. Пишем тест для метода - делаем коммит
  3. Пишем реализацию метода - делаем коммит

Пукнт 2 и 3 повторяются до полного завершения работы.
Прав ли я? Если да, то нормально ли добавить набор нереализованных классов и постепенно их реализовывать? Или же стоит по одному?
  • Вопрос задан
  • 393 просмотра
Решения вопроса 2
ManWithBear
@ManWithBear
Swift Adept, Prague
Да, это часть процесса разработки. Это нормально.
Ответ написан
@ashumkin
системный разработчик
по пп.2 соглашусь частично, только с оговоркой, что в п. тесты должны быть "зелёными" (даже при нереализованных методах).
я считаю (и не только я, мейнтейнеры и разработчики самого Git'а - тоже), что каждый коммит должен быть "рабочим": как собираться (build), так и проходить все тесты.

вот для примера моя пара коммитов в Git:
первый
https://github.com/git/git/commit/d928d81051fc8475... - добавляет в том числе тесты, которые не проходят (expect failure)
следующий коммит
https://github.com/git/git/commit/7d509878b845a2a8... - исправляет ошибку и исправляет лишь expected failure на expected success в ранее добавленных тестах.

таким образом, когда вы или кто-либо будет искать ошибочный коммит с помощью git bisect, он имееет больше шансов быстро найти его, запустив git bisect run, не прибегая с ручной проверке каждого коммита или коммитов, где тесты падают, например.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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