Сообщение от kobezzza
|
Я лучше буду писать проект, а не инструменты для написания проекта
|
А у меня стабильно 2-7 дней в месяц уделяется на апгрейд инструментов, на юишку, плагины на галп вот теперь еще писать начал и.т.п. скоро какой нить кофескрипт to es6 напишу) как минимум я не вижу ни одной причины не сделать красивый синтаксис для геттеров и сеттеров в кофескрипте. Хотя авторы говорят бла бла бла это технически невозможно мы должны знать имя каждого свойства. Можно добавить типы в кофескрипт. Если не задан то не задан, если задан то идет статическая проверка. Ну или даже динамическая проверка.
func = (name:String, parent:Module)->
compile to:
var _typeCkeck = function(Class, inst){
if(!(inst instanceof Class)) {
throw TypeError('бла бла бла')
}
}
var func = function(name, parent){
_typeCkeck(String, name);
_typeCkeck(Module, parent);
}
Я просто не уверен что представляю как сделать статическую проверку типов при том что могут приходить новые данные по аяксу например, или что скрипт наш может взаимодействовать с другими библиотеками в которых нет проверки типа. НО как минимум вот такую проверку сделать это офигенно, сахар, который полезен и для IDE для автокомплита, и собственно для разработчика. К тому же я сомневаюсь что вызов instanseof по нескольку раз на каждый вызов каждой функции замтено снизит производительность скрипта и будет являться узким горлышком бутылки. Это ни чем не отличается от того случая когда бы мы это руками писали. Кроме того указание типов не обязательно. Иными словами где хотим сделать проверку типа, пишем Type:argName и он все автоматом делает. Сниппет такой.
В принципе можно делать статическую проверку а там где я сомневаюсь делать динамическую проверку? Или как? ЧТО думаешь? п.с. ты прост тут единственный кто со мной может на уровне поговорить)
Кстати вот еще классную штуку придумал, мозжно чтобы он еще генерил комментарии для GCC в экстримальном сжатии)) классно же) чтобы что бы ты не писал он тебе варнинги не будет выдвавть. Потому что на этапе трансляции сам TypeCoffeescript выдаст варнинг) ну или идешка подсветит если научить.