Это часто встречается: я создал программное обеспечение и, возможно, использовал некоторые новые функции языка / платформы / стандартной библиотеки, которые доступны в некоторых версиях (скажем, Java 1.6.10 или PHP 5.2) и выше, но, конечно, я могу точно не помню. Я уверен, что он работает, по крайней мере, на той версии, которую я использую (обычно это самая новая из доступных версий), но вполне может работать и на немного более старой версии.
Выполнение кода вручную, ведение списка и сравнение его с примечаниями к выпуску платформы, очевидно, не очень сложный вариант. Есть ли способ сделать это автоматически (кроме выпечки собственного анализатора проверки версий)? Лично меня интересуют как минимум следующие языки, но, пожалуйста, добавляйте свободно:
- Java
- Python
- PHP
- C ++ (и, возможно, C)
- добавь любимое.
Простое тестирование на более старых версиях - это метод грубой силы, и у него есть преимущество в том, что вы будете знать, работает ли код на , а не просто на том, что должен работать. Но это может быть утомительно, поэтому мне все еще интересны какие-то автоматы, которые просматривают источник и проверяют, какие функции платформы используются.