Сведения о вопросе

None

06:33, 17th August, 2020

Какой метод разработки Вы считаете правильным?

Просмотров: 374   Ответов: 10

1) Пишу много кода, потом проверяю все сразу
2) Пишу небольшими кусками, которые сразу же проверяю

На мой взгляд, оба подхода имеют как плюсы, так и минусы:
Подход №1:
+Не тратится лишнее время на проверку правильно написанных участков, Работает и все. Что не работает — исправляем
-Легко забыть, о чем думал в момент написания того, или иного участка. Особенно, если куски очень большие

Подход №2 — соответственно, ровно наоборот:
+Только что писал — если вдруг какая-то ошибка обнаруживается, не сложно будет вычислить
-Тратится много времени на проверку хорошо написанных участков

А что вы думаете по этому поводу?



  Сведения об ответе

PHPH

11:47, 18th August, 2020

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


  Сведения об ответе

ASSembler

08:17, 14th August, 2020

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

Сложности две:
— лениво писать тесты на тривиальный код (то есть кода ещё нет «на бумаге», но «в голове» уже он есть)
— лениво писать тесты, предусматривающие всё и вся, например, что методы доступа к СУБД вернут какую-ту ахинею, а не либо корректные данные, либо ошибку. Или, скажем, конструкция return new SomeClass() вернёт не экземпляр SomeClass.

Вероятно я написание тестов так до конца и недопонял, особенно что касается тестирования связанных объектов (например кобинации контроллер, модель, репозиторий)


  Сведения об ответе

P_S_S

02:26, 24th August, 2020

Мартин Фаулер одобряет второй подход.


  Сведения об ответе

nYU

20:08, 13th August, 2020

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

В целом подход — разбить функционал на несколько логичных «кусков» — допустим не больше 1-2 дней работы в идеале — и соответственно написал-оттестил-забыл.

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

ЗЫ: пишу приложения, поэтому мелкая разбивка не получается — в той же MVC зачастую просто контроллер подвешенный в воздухе без модели и представления корректно не оттестируешь…


  Сведения об ответе

PAGE

21:06, 1st October, 2020

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


  Сведения об ответе

9090

17:07, 12th August, 2020

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


  Сведения об ответе

9090

10:10, 28th August, 2020

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


  Сведения об ответе

DAAA

20:15, 25th August, 2020

кхе-кхе, а почему нельзя совместить второй способ и вот это:
>Работает и все. Что не работает — исправляем
я так и пишу: написал участок кода какой-то законченный, проверяю как он работает, если работает, то приступаю к следующему, если нет, то правлю. И времени тратится больше разве что на переключение между средой и браузером (я пишу на html/php).


  Сведения об ответе

park

01:42, 6th August, 2020

Писать сразу правильно. Если нет, то вариант два.


  Сведения об ответе

nYU

19:33, 5th August, 2020

Я предпочитаю писать небольшие части, потом уже тестить… Особенно удобно это в языках с REPL…


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться