История изменений
Исправление peregrine, (текущая версия) :
Это цена удобству легко кодить сложные штуки, чтоб не кодить сложные штуки сложно. Проблема не в том что эти штуки кодить сложно/просто, а в том что штуки, когда у тебя типизация вылезает где-то в динамике (например на основе конфигов из json-ов, про которые ты почти ничего не знаешь заранее, генерировать какие-то объекты с которыми ещё и работать надо) и встаёт как проблема, относительно сложные. Хорошим примером такой проблемы будет CDDA и код на плюсах которым игра считывает все игровые объекты которые описаны в этом самом json-е. Не то чтобы рокет саенс, но чертовски неприятно, на том же питоне с его типизацией такая задача решается на порядок проще и потратя те же усилия на разработку можно было бы более гибко читать json-ы и вынести больше API для модов туда, а не пилить отдельный проект с названием jsonformatter который будет написанные человеком json-ы приводить к виду с которым C++ программист справится.
А для валидации нужно тестирование (разное разумеется, включая живых людей, а не однобокие юнит тесты или статистические анализаторы кода или что-то ещё о чём вы подумали) и покрытие кода тестами.
Исправление peregrine, :
Это цена удобству легко кодить сложные штуки, чтоб не кодить сложные штуки сложно. Проблема не в том что эти штуки кодить сложно/просто, а в том что штуки, когда у тебя типизация вылезает где-то в динамике (например на основе конфигов из json-ов, про которые ты почти ничего не знаешь заранее, генерировать какие-то объекты с которыми ещё и работать надо) и встаёт как проблема, относительно сложные. Хорошим примером такой проблемы будет CDDA и код на плюсах которым игра считывает все игровые объекты которые описаны в этом самом json-е. Не то чтобы рокет саенс, но чертовски неприятно, на том же питоне с его типизацией такая задача решается на порядок проще и потратя те же усилия на разработку можно было бы более гибко читать json-ы и вынести больше API для модов туда.
А для валидации нужно тестирование (разное разумеется, включая живых людей, а не однобокие юнит тесты или статистические анализаторы кода или что-то ещё о чём вы подумали) и покрытие кода тестами.
Исправление peregrine, :
Это цена удобству легко кодить сложные штуки, чтоб не кодить сложные штуки сложно. Проблема не в том что эти штуки кодить сложно/просто, а в том что штуки, когда у тебя типизация вылезает где-то в динамике (например на основе конфигов из json-ов, про которые ты почти ничего не знаешь заранее, генерировать какие-то объекты с которыми ещё и работать надо) и встаёт как проблема, относительно сложные. Хорошим примером такой проблемы будет CDDA и код на плюсах которым игра считывает все игровые объекты которые описаны в этом самом json-е. Не то чтобы рокет саенс, но чертовски неприятно, на том же питоне с его типизацией такая задача решается на порядок проще и потратя те же усилия на разработку можно было бы более гибко читать json-ы и вынести больше API для модов туда.
А для валидации нужно тестирование (разное разумеется, включая живых людей, а не однобокие юнит тесты или что-то ещё о чём вы подумали) и покрытие кода тестами.
Исправление peregrine, :
Это цена удобству легко кодить сложные штуки, чтоб не кодить сложные штуки сложно. Проблема не в том что эти штуки кодить сложно/просто, а в том что штуки, когда у тебя типизация вылезает где-то в динамике (например на основе конфигов из json-ов, про которые ты почти ничего не знаешь заранее, генерировать какие-то объекты с которыми ещё и работать надо) и встаёт как проблема, относительно сложные. Хорошим примером такой проблемы будет CDDA и код на плюсах которым игра считывает все игровые объекты которые описаны в этом самом json-е. Не то чтобы рокет саенс, но чертовски неприятно, на том же питоне с его типизацией такая задача решается на порядок проще и потратя те же усилия на разработку можно было бы более гибко читать json-ы и вынести больше API для модов туда.
А для валидации нужно тестирование (разное разумеется, а не однобокие юнит тесты или что-то ещё о чём вы подумали) и покрытие кода тестами.
Исправление peregrine, :
Это цена удобству легко кодить сложные штуки, чтоб не кодить сложные штуки сложно. Проблема не в том что эти штуки кодить сложно/просто, а в том что штуки, когда у тебя типизация вылезает где-то в динамике (например на основе конфигов из json-ов, про которые ты почти ничего не знаешь заранее, генерировать какие-то объекты с которыми ещё и работать надо) и встаёт как проблема, относительно сложные. Хорошим примером такой проблемы будет CDDA и код на плюсах которым игра считывает все игровые объекты которые описаны в этом самом json-е. Не то чтобы рокет саенс, но чертовски неприятно, на том же питоне с его типизацией такая задача решается на порядок проще и потратя те же усилия на разработку можно было бы более гибко читать json-ы и вынести больше API для модов туда.
А для валидации нужно тестирование и покрытие кода тестами.
Исходная версия peregrine, :
Это цена удобству легко кодить сложные штуки, чтоб не кодить сложные штуки сложно. Проблема не в том что эти штуки кодить сложно/просто, а в том что штуки, когда у тебя типизация вылезает где-то в динамике (например на основе конфигов из json-ов, про которые ты почти ничего не знаешь заранее, генерировать какие-то объекты с которыми ещё и работать надо) и встаёт как проблема, относительно сложные. Хорошим примером такой проблемы будет CDDA и код на плюсах которым игра считывает все игровые объекты которые описаны в этом самом json-е. Не то чтобы рокет саенс, но чертовски неприятно, на том же питоне с его типизацией такая задача решается на порядок проще и потратя те же усилия на разработку можно было бы более гибко читать json-ы и вынести больше API для модов туда.