Dropbox хостится на S3, при большой объеме данных оно стоит 5.5 центов за гигабайт в месяц. получается что 100гб будет стоить 5.5 долларов в месяц. У дропбокс тоже самое стоит 10 долларов. Это не намного большие деньги.
У меня в текущем Java проекте, который я пишу используя обозначенный выше подход, покрытие критических подсистем ок 90%, не критически 60%, все тесты гоняются 3 секунды.
TDD в том виде, в котором его пропагандируют фанатики, не применим к реальному программированию. Покажите мне хоть один реальный большой проект на github, который был написан целиком при помощи этого подхода. Возьмем например eclipse, в команде которого долгое время работал основатель этого подхода, Кент Бек, покрытие тестами там далеко не 100%, и что-то мне подсказывает код там был написан не в виде TDD.
По моему, в реальности, нужно дизайнить тестируемость кода с самого начала проекта, так чтобы
1. тесты можно было писать
2. чтобы они работали быстро.
Такой подход имеет морю преимуществ перед TDD,
1. если код простой, то много тестов не нужно, и мы не тратим время на тестирование того кода, который может сломаться только чисто теоретически.
2. если где-то возникают затыки и проблемы с качеством, мы легко можем увеличить покрытие и увеличить качество.
Таким образом мы получаем реально agile подход, а не религиозную практику в проекте.
JSDoc существенно облегчает задачу при условии использования Closure Library, но, к сожалению, большинство библиотек использует динамизм настолько, что толку от JSDoc никакого.
Спасибо за теплые слова в адрес компании, я правда работаю не в IDE отделах (мы собственно пишем для браузера на GWT).
Вообще, победил не JavaScript, как язык программирования, а JavaScript, как виртуальная машина. Дум и эмулятор линукса не были написаны на чистом js заново, а всего лишь транслированы из существующего кода при помощи тулов (emscripten).
Что кроме typescript, компилируется в JS, можно посмотреть вот тут: altjs.org/ И, typescript из этого списка не самое лучшее решение. Мы, пользуемся GWT, и очень довольны. Можем использовать нормальный статически типизированный язык программирования (большие приложения на динамических языках писать очень тяжело), и нормальную библиотеку в отличии от.
К сожалению, комплишин, рефакторинги и навигация, все равно очень не точные. Это далеко, что мы имеем в Java или C#. Вообще, же из-за того что язык динамически типизированный, задачи эти в общем случае не разрешимые.
>OpenSource проекты тоже должны зарабатывать, и хорошо, если это получается
Сейчас практически все инфраструктурные проекты опен сорсные, так что оправдавать варварскую политику тем что это open source не стоит, и их авторы умудряются делать на них деньги, не занимаясь таким варварством (не все правда).
Это конечно все здорово, но лиценизя под которой они продают Mono for .NET, да и остальные свои продукты, мягко говоря варварская. Дикий vendor lockin, несмотря на как бе опен сорсность.
Computer Science это как раз научная часть программирования.
Software Engineering же инженерная.
У меня в текущем Java проекте, который я пишу используя обозначенный выше подход, покрытие критических подсистем ок 90%, не критически 60%, все тесты гоняются 3 секунды.
— где там тесты?
— каково тестовое покрытие?
— сколько времени ходят тесты?
По моему, в реальности, нужно дизайнить тестируемость кода с самого начала проекта, так чтобы
1. тесты можно было писать
2. чтобы они работали быстро.
Такой подход имеет морю преимуществ перед TDD,
1. если код простой, то много тестов не нужно, и мы не тратим время на тестирование того кода, который может сломаться только чисто теоретически.
2. если где-то возникают затыки и проблемы с качеством, мы легко можем увеличить покрытие и увеличить качество.
Таким образом мы получаем реально agile подход, а не религиозную практику в проекте.
Кстати, про тестирование, очень рекомендую вот эту книгу: www.amazon.com/Google-Tests-Software-James-Whittaker/dp/0321803027/ Она дает представление о том, как можно получать реальную пользу от тестов.
Спасибо за теплые слова в адрес компании, я правда работаю не в IDE отделах (мы собственно пишем для браузера на GWT).
Что кроме typescript, компилируется в JS, можно посмотреть вот тут: altjs.org/ И, typescript из этого списка не самое лучшее решение. Мы, пользуемся GWT, и очень довольны. Можем использовать нормальный статически типизированный язык программирования (большие приложения на динамических языках писать очень тяжело), и нормальную библиотеку в отличии от.
Сейчас практически все инфраструктурные проекты опен сорсные, так что оправдавать варварскую политику тем что это open source не стоит, и их авторы умудряются делать на них деньги, не занимаясь таким варварством (не все правда).