Ответ 1
Язык был стабильным в течение последних шести месяцев (1.1.1 в основном всего 1.0 с исправлениями). Это не гарантирует будущей стабильности, но я не ожидаю, что моя книга будет полностью устаревшей в ближайшее время.
Я бы сказал, что лучшие способы избежать проблем с версией -
- Убедитесь, что вы документируете версию CoffeeScript, в которой был написан ваш проект, и
- Скомпилируйте JS в этой версии и сохраните JS где-нибудь.
- Хорошее тестовое покрытие (по словам Самуэля Адамса: Всегда хорошее решение!)
Таким образом, когда выпущена новая версия CoffeeScript, у вас есть резервная копия JS для использования в случае нарушения кода CoffeeScript. Нарушение изменений - это боль, но они являются общей для почти всех языков, кроме JavaScript, - просто попросите рубиста, который недавно совершил переход с 1,8 до 1,9, или Pythonista, которые все еще переносят свой код Python 2 на Python 3.
Совет, который я могу дать для предотвращения нарушения вашего кода при изменениях версии CoffeeScript, заключается в том, чтобы избежать ситуаций с синтаксическим краем. Например, func a:b, c
означает func {a:b, c:c}
, а теперь это означает func {a:b}, c
. Это улучшение (прежнее поведение считалось ошибкой), но некоторые люди были застигнуты врасплох. Поэтому используйте явную пунктуацию, когда есть намек на двусмысленность; он все равно делает для более удобочитаемого кода.
Джереми придется прокомментировать различие stable
/master
, так как оба ветки существуют, но stable
не обновлялся с апреля (pre-1.1.0).