Утилита gotests и плагин для Atom

2016/04/15

Поскольку последнее время я все больше пишу на Go, мой workflow потихоньку обрастает различными полезными утилитами.

Одним из лучших открытий (после изумительного go-plus для Atom, который превращает Atom в полнофункциональную IDE для Go) стала утилита gotests, которая позволяет генерировать табличные тесты. При этом для нее есть плагины для Sublime Text 3 и Emacs.

Я большой сторонник юнит-тестирования, и потому возможность создавать шаблоны для тестов одной командой меня очень обрадовала.

Выглядит это как-то так:

demo

Единственное чего мне не хватало для счастья - плагина для Atom.

Пришлось взять в руки JS и запилить его по образу и подобию плагина для Sublime.

Конечно, после Go все эти Promise и подход к асинхронности в JS достаточно непривычны. Но надо отдать должное разработчиками Atom - API там роскошное, и плагины создавать очень просто. Меня особенно порадовало внимание к тестам для плагинов - сделано все, чтобы эти тесты писали и запускали.

Единственное, я писал в этот раз все на ES6, а не CoffeeScript - не зная JavaScript, начинать сразу с обертки над ним это слишком сложно. К тому же ES6 вобрал в себя много полезностей из CoffeeScript.

Ну и ESLint очень крутой, и отказываться от него не хотелось.

Изначально я был скептически настроен по отношению к текстовому редактору на основе веб-технологий. Но теперь, проработав за ним около года, и создав уже в общей сложности 3 плагина для Atom, я более чем уверен в правильности своего выбора редактора - он не только очень удобен, но и изумительно расширяется даже без особого знания JS. Это действительно очень круто, когда ты можешь практически неограниченно улучшать свой редактор, используя не какой-то специализированный язык, и не диалект Lisp (хотя Emacs как раз расширяется плагинами не хуже Atom), а нормальный, популярный и развивающийся язык программирования. Даже не просто язык программирования - вся мощь web-технологий к твоим услугам.

Благодаря этому можно не ныть на форумах, столкнувшись с отсутствием какой-либо функциональности в редакторе, а просто взять и написать ее - сила Open Source в чистом виде.

В общем, предлагаю всех гоферов попробовать:

Tags: Golang Программирование Atom ES6

Categories: IT Russian