Size: a a a

2021 March 16

CD

Constantine Drozdov in C++ Together 2.0
Wild_Wind
Мне кажется или мы говорим друг о другу о несколько разных вещах?
ну твой тезис, что компилятор должен что-то проверять, чтобы в прод не ушёл полный мусор
источник

W

Wild_Wind in C++ Together 2.0
Constantine Drozdov
ну твой тезис, что компилятор должен что-то проверять, чтобы в прод не ушёл полный мусор
Чтобы в прод не ушол синтаксически и семантически полный мусор.
От логических фейлов он естевственно не защитит.
источник

CD

Constantine Drozdov in C++ Together 2.0
Wild_Wind
Чтобы в прод не ушол синтаксически и семантически полный мусор.
От логических фейлов он естевственно не защитит.
никакая система типов тебе не гарантирует, что происходящее это не семантически полный мусор
источник

CD

Constantine Drozdov in C++ Together 2.0
твой код может ничего не делать на всех реальных данных в полном соответствии со спецификацией
источник

p

pepeground_bot in C++ Together 2.0
не тебя... код был! со временем все!
источник

W

Wild_Wind in C++ Together 2.0
Constantine Drozdov
никакая система типов тебе не гарантирует, что происходящее это не семантически полный мусор
Но с ней сложнее писать семантический мусор, чем без неё.
Ввиду ограничения типов. На которые можно накрутить логику.
источник

CD

Constantine Drozdov in C++ Together 2.0
Wild_Wind
Но с ней сложнее писать семантический мусор, чем без неё.
Ввиду ограничения типов. На которые можно накрутить логику.
А с тестами в тысячу раз сложнее писать семантический мусор, особенно если тесты это проверки на реальных данных
источник

W

Wild_Wind in C++ Together 2.0
Constantine Drozdov
А с тестами в тысячу раз сложнее писать семантический мусор, особенно если тесты это проверки на реальных данных
Но тесты надо написать. Иначе их не будет.
А типизация никуда не денется.
источник

CD

Constantine Drozdov in C++ Together 2.0
Если ты в модель данных написал, что payment_amount это %d, а он оказался %.2f, компилятор всё скомпилит, а тесты скажут, что ты не десериализуешь ответ сервера
источник

W

Wild_Wind in C++ Together 2.0
Constantine Drozdov
Если ты в модель данных написал, что payment_amount это %d, а он оказался %.2f, компилятор всё скомпилит, а тесты скажут, что ты не десериализуешь ответ сервера
Я словлю эксепшен о том, что я пытаюсь достать не тот тип из контейнера.
источник

CD

Constantine Drozdov in C++ Together 2.0
Wild_Wind
Но тесты надо написать. Иначе их не будет.
А типизация никуда не денется.
Типизация это твоя обязанность написать некоторые тесты. Тот же самый эффект можно достигнуть, если внедрить в компилятор систему контроля покрытия тестами.
источник

CD

Constantine Drozdov in C++ Together 2.0
Wild_Wind
Я словлю эксепшен о том, что я пытаюсь достать не тот тип из контейнера.
Если любая строка будет выполнена хотя бы раз, то этот код упадёт на одном из тестов.
источник

W

Wild_Wind in C++ Together 2.0
Constantine Drozdov
Типизация это твоя обязанность написать некоторые тесты. Тот же самый эффект можно достигнуть, если внедрить в компилятор систему контроля покрытия тестами.
Но ты не сможешь внедрить в компилятор систему контроля покрытия тестами так, чтобы она валидно работала на всех платформах.
И не всегда тесты нужны.
источник

CD

Constantine Drozdov in C++ Together 2.0
Wild_Wind
Но ты не сможешь внедрить в компилятор систему контроля покрытия тестами так, чтобы она валидно работала на всех платформах.
И не всегда тесты нужны.
Что значит не смогу? Почему нет?
источник

W

Wild_Wind in C++ Together 2.0
Constantine Drozdov
Что значит не смогу? Почему нет?
И какие же тесты ты хочешь чтобы требовал компилятор?
источник

CD

Constantine Drozdov in C++ Together 2.0
Wild_Wind
И какие же тесты ты хочешь чтобы требовал компилятор?
Все и побольше. Он же от меня требует писать в соответствии с системой типов, чтобы я не говнокодил
источник

CD

Constantine Drozdov in C++ Together 2.0
Собственно говоря, развитая система типов и есть интеграция тестов, но очень специфическая и очень специфических
источник

W

Wild_Wind in C++ Together 2.0
Constantine Drozdov
Все и побольше. Он же от меня требует писать в соответствии с системой типов, чтобы я не говнокодил
Но система типов стандартизованна. И четко прописано, что можно, что нельзя.
А что ты будешь писать в требовании к тестам?
источник

CD

Constantine Drozdov in C++ Together 2.0
Wild_Wind
Но система типов стандартизованна. И четко прописано, что можно, что нельзя.
А что ты будешь писать в требовании к тестам?
Ну требование, чтобы любой код выполнялся, как-нибудь пропишу уж
источник

CD

Constantine Drozdov in C++ Together 2.0
Уверен, задача решаемая. Задача этого примера не решить её, а показать абсурдность требования к компоненту системы осуществлять функции, которые он может не осуществлять
источник