LINUX.ORG.RU

История изменений

Исправление monk, (текущая версия) :

Пишет провальные тесты. Пишет реализацию. От него 2 коммита. И у него прямая дорога. Он не может околачивать груши, а только работать.

Задача «написать поиск наибольшего общего делителя».

1 коммит: тест gcd(1, 1) = 1
2 коммит: gcd(p, q): return 1

3 коммит: тест gcd(2, 2) = 2
4 коммит:

def gcd(p, q):
  if p % 2 == 0 && q % 2 == 0:
    return 2
  else:
    return 1

5 коммит: тест gcd(3, 3) = 3
6 коммит:

def gcd(p, q):
  if p % 3 == 0 && q % 3 == 0:
    return 3
  elsif p % 2 == 0 && q % 2 == 0:
    return 2
  else:
    return 1

… 100500 коммит:

def gcd(p, q):
  if p % 50250 == 0 && q % 50250 == 0:
  ...
  100500 строк
  ...

Всё по TDD.

Исходная версия monk, :

Пишет провальные тесты. Пишет реализацию. От него 2 коммита. И у него прямая дорога. Он не может околачивать груши, а только работать.

Задача «написать поиск наибольшего общего делителя».

1 коммит: тест gcd(1, 1) = 1
2 коммит: gcd(p, q): return 1

3 коммит: тест gcd(2, 2) = 2 4 коммит:

def gcd(p, q):
  if p % 2 == 0 && q % 2 == 0:
    return 2
  else:
    return 1

5 коммит: тест gcd(3, 3) = 3 6 коммит:

def gcd(p, q):
  if p % 3 == 0 && q % 3 == 0:
    return 3
  elsif p % 2 == 0 && q % 2 == 0:
    return 2
  else:
    return 1

… 100500 коммит:

def gcd(p, q):
  if p % 50250 == 0 && q % 50250 == 0:
  ...
  100500 строк
  ...

Всё по TDD.