LINUX.ORG.RU

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

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

А я ещё раз повторю: когда ты проверяешь логику тестами, ты проверяешь и типы (неявно), поэтому отдельно (явно) проверять типы смысла нет.

либо ты не понял, либо мысла спорить нет. поясню ещё раз: _всю_ логику проверять тестами не нужно.

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

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

Ещё раз, количество тестов уменьшается. Если при этом подключить доказательства, то в пределе стемиться к нулю. При этом типы проще и изоморфны коду в любом случае (т.е. их нельзя как тесты написать «неправильно» или «неполно»). Писать типы просто. Например, написать read a :: Int значительно проще чем написать тест который проверит выбросил ли ты исключение или нет если пришёл не инт.

Либо ты не хочешь видеть что я тебе написал, либо я вообще перестал понимать о чём разговор.

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

А я ещё раз повторю: когда ты проверяешь логику тестами, ты проверяешь и типы (неявно), поэтому отдельно (явно) проверять типы смысла нет.

либо ты не понял, либо мысла спорить нет. поясню ещё раз: _всю_ логику проверять тестами не нужно.

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

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

Ещё раз, количество тестов уменьшается. Если при этом подключить доказательства, то в пределе стемиться к нулю. При этом типы проще и изоморфны коду в любом случае (т.е. их нельзя как тесты написать «неправильно» или «неполно»). Писать типы просто. Например, написать read a :: Int значительно проще чем написать тест который проверит выбросил ли ты исключение или нет если пришёл не инт.

Либо ты не хочешь видеть что я тебе написал, либо я вообще не понимаю о чём разговор.