Поскольку последнее время я все больше пишу на Go, мой workflow потихоньку обрастает различными полезными утилитами.
Одним из лучших открытий (после изумительного go-plus для Atom, который превращает Atom в полнофункциональную IDE для Go) стала утилита gotests, которая позволяет генерировать табличные тесты. При этом для нее есть плагины для Sublime Text 3 и Emacs.
Я большой сторонник юнит-тестирования, и потому возможность создавать шаблоны для тестов одной командой меня очень обрадовала.
Выглядит это как-то так:
Единственное чего мне не хватало для счастья - плагина для Atom.
Пришлось взять в руки JS и запилить его по образу и подобию плагина для Sublime.
Конечно, после Go все эти Promise и подход к асинхронности в JS достаточно непривычны. Но надо отдать должное разработчиками Atom - API там роскошное, и плагины создавать очень просто. Меня особенно порадовало внимание к тестам для плагинов - сделано все, чтобы эти тесты писали и запускали.
Единственное, я писал в этот раз все на ES6, а не CoffeeScript - не зная JavaScript, начинать сразу с обертки над ним это слишком сложно. К тому же ES6 вобрал в себя много полезностей из CoffeeScript.
Ну и ESLint очень крутой, и отказываться от него не хотелось.
Изначально я был скептически настроен по отношению к текстовому редактору на основе веб-технологий. Но теперь, проработав за ним около года, и создав уже в общей сложности 3 плагина для Atom, я более чем уверен в правильности своего выбора редактора - он не только очень удобен, но и изумительно расширяется даже без особого знания JS. Это действительно очень круто, когда ты можешь практически неограниченно улучшать свой редактор, используя не какой-то специализированный язык, и не диалект Lisp (хотя Emacs как раз расширяется плагинами не хуже Atom), а нормальный, популярный и развивающийся язык программирования. Даже не просто язык программирования - вся мощь web-технологий к твоим услугам.
Благодаря этому можно не ныть на форумах, столкнувшись с отсутствием какой-либо функциональности в редакторе, а просто взять и написать ее - сила Open Source в чистом виде.
В общем, предлагаю всех гоферов попробовать:
- Отличная утилита для табличных тестов - gotest
- Мой плагин для интеграции gotests в Atom - atom-gotests (страничка плагина в Atom)