Size: a a a

2020 July 29

DB

Dima Bildin in Frontend UA
Да, это факт, что она логические ошибки не найдёт. Но пример, в котором с десяток багов были закрыты тупо из-за того что типы не совпадали (несоответствие контрактов, да. О котором типы нам говорят).
источник

AR

Alexey Raspopov in Frontend UA
Dima Bildin
Пример: нам отдали приложение, написанное на жс, в котором был список багов типа "нажимаем на этот чекбокс, не происходит того, что должно". Мы перевели на тс, тс нашёл, что из сдк метод вызывается не с теми параметрами или не в том виде. Поправили так, что б правильно по типам были, с десяток багов исправилось)
Тут конечно проблема в том, что похоже вообще особо не тестировали, что сделали, но с типами бы и этого не было
Мне кажется Женя показал самый явный пример поведенческого бага который не ошибка в коде
источник

ЗФ

Затылок выглаженого ... in Frontend UA
Eugene Obrezkov
я просто говорю что вы, скорее всего, на систему типу возлагаете чуть больше ответственности, чем она может подкрепить
человек, который сначала писал на динамическом языке, а потом начал использовать статическую типизацию, сразу же чувствует разницу, и видит какое кол-во дурацких багов отсекается на этапе компиляции
источник

Вт

Ві тя in Frontend UA
мне кажется мьі тут о разном говорим
источник

EO

Eugene Obrezkov in Frontend UA
Затылок выглаженого Фенриза
человек, который сначала писал на динамическом языке, а потом начал использовать статическую типизацию, сразу же чувствует разницу, и видит какое кол-во дурацких багов отсекается на этапе компиляции
как человек, который на асембли писал, вообще не понимает что тут происходит))
источник

ЗФ

Затылок выглаженого ... in Frontend UA
Затылок выглаженого Фенриза
человек, который сначала писал на динамическом языке, а потом начал использовать статическую типизацию, сразу же чувствует разницу, и видит какое кол-во дурацких багов отсекается на этапе компиляции
потому и такой восторг
источник

Вт

Ві тя in Frontend UA
Женя толи на тс не писал, толи просто прикальівается
источник

M

Mark in Frontend UA
Eugene Obrezkov
я просто говорю что вы, скорее всего, на систему типу возлагаете чуть больше ответственности, чем она может подкрепить
а здається ти просто казав що типи ніколи не допомагали ловити баги
источник

ЗФ

Затылок выглаженого ... in Frontend UA
у меня такое тоже было
источник

EO

Eugene Obrezkov in Frontend UA
Mark
а здається ти просто казав що типи ніколи не допомагали ловити баги
так они и не ловят
источник

DB

Dima Bildin in Frontend UA
Ві тя
Женя толи на тс не писал, толи просто прикальівается
Женя написал "я не говорю, что типы не нужны, а то знаю я вас")
источник

E

Evgen in Frontend UA
Eugene Obrezkov
вот тебе пример

function add (x: number, y: number): number {
 return x - y;
}
Надутый пример. Менеджер сказал чтобы там происходило не сложение, а вычитание - вот и сделали. Это может быть и не ошибкой программиста
источник

EO

Eugene Obrezkov in Frontend UA
Eugene Obrezkov
как человек, который на асембли писал, вообще не понимает что тут происходит))
потом были компилируемые языки у меня, пришел у веб, начал на динамическом, забыл прелести компилируемого
источник

DB

Dima Bildin in Frontend UA
Evgen
Надутый пример. Менеджер сказал чтобы там происходило не сложение, а вычитание - вот и сделали. Это может быть и не ошибкой программиста
Да нормальный пример. Просто то что этот пример, в котором типы не помогают словить баг, не означает, что нет других примеров, в которых помогают)
источник

EO

Eugene Obrezkov in Frontend UA
так что не могу уверенно сказать, что у меня эффект "перехода на стат. тип"
источник

M

Mark in Frontend UA
Eugene Obrezkov
так они и не ловят
ну так можна все називати не багом а не узгодженим контрактом
источник

ЗФ

Затылок выглаженого ... in Frontend UA
Evgen
Надутый пример. Менеджер сказал чтобы там происходило не сложение, а вычитание - вот и сделали. Это может быть и не ошибкой программиста
ну Женя и не говорит что это ошибка программиста, тут речь о том что статическая типизация это не панацея и она позволяет отловить только один класс багов, связанных с нарушением контракта
источник

DB

Dima Bildin in Frontend UA
Mark
ну так можна все називати не багом а не узгодженим контрактом
Который приводит к багу. В прочем, наверное, это вопрос кто как слово "баг" понимает)
источник

EO

Eugene Obrezkov in Frontend UA
Mark
ну так можна все називати не багом а не узгодженим контрактом
баг !== несоблюден контракт
источник

EO

Eugene Obrezkov in Frontend UA
это разные вещи
источник