After realizing his code “began to suck,” Lasse Schuirmann created an application called coala to make code analysis easy, while remaining completely modular, extensible and language-independent.
Coala provides a user and developer interface, letting developers focus on logic only so that users can focus on content. Schuirmann said there are a lot of tools like Pylint and Checkstyle that have a lot in common, and they all rewrite “again and again.” The team behind coala wanted to change that, making it so that developers can very easily write any kind of static code analysis for it.
“You can also very easily integrate other analysis—we have no interest in rewriting all that stuff for all those languages,” said Schuirmann.
There are also a lot of advantages to coala, according to him. Researchers can write static code analysis in less time, and it becomes usable “in a snap,” he said. Coala can also be used in production immediately, and then dump the data for analysis without having to implement a dump.
Developers can combine language-independent with language-dependent routines, which means no more rewriting all of those for a new language. Users will only need to learn one tool, and coala enables them to run code analysis for all their languages in their project, including documentation, which Schuirmann says people usually underestimate.
The coala team consists of student volunteers, with no commercial backing. Schuirmann said that the team is growing, with at least 80 contributors to its source code. The team also was interviewed collectively by Gitter, which was a previous GitHub project of the week.
Additionally, the team started a project that is being offered as a service, called gitmate.io, which is based solely on coala and is designed to enable a few people to work full-time on coala. It saves the coala team hours a day since it does automatic code reviews using coala, said Schuirmann.
Top 5 trending projects on GitHub this week
#1. Hospital: Help build a hospital-based directory.
#3. Depth-LIB-Android: A library that gives depth/thickness to Views.
#4. Xi Editor: A modern editor with a back end written in Rust.
#5. scrape-it: A Node.js scraper for humans.