Два неторопливых вечера с нуля. Сложность емакса сильно преувеличена.
А человеку неспособному освоить емакс стоит задуматься о правильности выбора профессии, имхо.
Странно, что никто ничего не сказал про Emacs + CEDET.
В JetBrains`овских продуктах есть одна большая проблема — они собственно на Java, из-за чего:
1. Дикие тормоза на нетбуках.
2. Вырвиглазнейшее сглаживание шрифтов под линуксами.
Когда пользовался RubyMine на нетбуке выключал весь семантический анализ из-за его, скажем так, неторопливости.
При этом их же решарпер на том же нетбуке работает вполне себе хорошо.
Когда приходит человек и не может объяснить что такое, например, mvc и вместо того чтобы честно признаться, что не знает(но хочет узнать, например), начинает нести чушь, это говорит о следующем:
2. Человек не интересуется своей профессией, не читает профессиональную литературу, не ищет возможности развиваться; вместо этого выдумывает велосипеды.
3. Из п. 1 — в портфолио смотреть не имеет смысла, там как правило оказывается говнокод.
1. Кол-во поколений.
2. Истечение какого-либо реального времени.
3. Квадрат разности фитнесс-функций лучших особей двух последних поколений меньше заданного значения.
4. Все особи в поколении отличаются друг от друга в рамках заданной погрешности.
5. Фитнесс-функция достигла некоего заданного значения (не всегда нужно оптимальное решение, иногда хватает «достаточного»).
и т. д.
Во-первых, в момент, когда вы начинаете писать что-то куда-то у вас уже не юнит-тест, а интеграционный.
Во-вторых, ассертя, что функция возвращает true вы проверяете только то, что функция возвращает true.
Вам нужно замокать поток, внутри мока сохранять что-нибудь типа лога вызовов и в тесте ассертить, что в логе правильный порядок вызовов. Тогда это будет юнит-тест.
1. RedMine — www.youtube.com/watch?v=Qhl3JRO7xp0 Остальное нагуглите.
2. www.emacswiki.org/emacs/RubyOnRails — go to controller, go to view и прочее для рельсов
3. Великое множество плагинов. Первый в гугле для ruby — www.kmc.gr.jp/proj/rrb/structure-en.html
Мне бы вашу уверенность, особенно в вещах о которых я ничего не знаю.
А человеку неспособному освоить емакс стоит задуматься о правильности выбора профессии, имхо.
48 сайтов/рыло — это скорее область быдлопхп-кодинга.
Мне к серьезному и большому ноутбуку и серьезному и большому десктопу нужен маленький компьютер с большим временем работы для разъездов.
Для Ruby я себе в итоге поставил емакс, и он при правильном приготовлении серьезнее RubyMine (ну или IDEA, что то же самое).
Подозреваю, что у них есть какое-то соглашение с Майкрософтом.
В JetBrains`овских продуктах есть одна большая проблема — они собственно на Java, из-за чего:
1. Дикие тормоза на нетбуках.
2. Вырвиглазнейшее сглаживание шрифтов под линуксами.
Когда пользовался RubyMine на нетбуке выключал весь семантический анализ из-за его, скажем так, неторопливости.
При этом их же решарпер на том же нетбуке работает вполне себе хорошо.
2. Человек не интересуется своей профессией, не читает профессиональную литературу, не ищет возможности развиваться; вместо этого выдумывает велосипеды.
3. Из п. 1 — в портфолио смотреть не имеет смысла, там как правило оказывается говнокод.
И мне ОЧЕНЬ не хватает там вменяемой командной строки аля емакс или автокад.
2. Истечение какого-либо реального времени.
3. Квадрат разности фитнесс-функций лучших особей двух последних поколений меньше заданного значения.
4. Все особи в поколении отличаются друг от друга в рамках заданной погрешности.
5. Фитнесс-функция достигла некоего заданного значения (не всегда нужно оптимальное решение, иногда хватает «достаточного»).
и т. д.
Читайте Кента Бека «Разработка через тестирование», там все просто.
ru.wikipedia.org/wiki/Mock-%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82
Во-первых, в момент, когда вы начинаете писать что-то куда-то у вас уже не юнит-тест, а интеграционный.
Во-вторых, ассертя, что функция возвращает true вы проверяете только то, что функция возвращает true.
Вам нужно замокать поток, внутри мока сохранять что-нибудь типа лога вызовов и в тесте ассертить, что в логе правильный порядок вызовов. Тогда это будет юнит-тест.