code analysis application (coala) ist ein Open-Source-Programm von Entwickler:innen für Entwickler:innen.
Die Idee: Code ist nicht gleich Code – er muss nicht nur korrekt funktionieren, sondern auch von Menschen gelesen und verstanden werden. Ein konsistenter Stil und die Einhaltung von üblichen Vorgehensweisen hilft dabei. Es gilt also, Standards einzuhalten, um gute Praxis zu leben. coala fasst viele Programme für die Bewertung und automatische Korrektur von Code zusammen, um sie gleichzeitig und einheitlich auszuführen.
So kann zum Beispiel die Einrückung von Zeilen und die Verwendung von Leerzeichen vereinheitlicht, bekannte problematische Code-Konstrukte durch weniger Fehleranfällige ersetzt werden und die Komplexität von Funktionen bewertet oder die Abdeckung durch Unittests geprüft werden. Die meisten bestehenden Programme bieten nur einige der genannten Features an, funktionieren nur für eine Programmiersprache und benötigen ihre eigene Art der Konfiguration. Insbesondere in Softwareprojekten, die mehrere Programmiersprachen einsetzen, müssen dadurch oft mehrere Installationen und Konfigurationen vorgenommen werden.
coala bietet eine einheitliche Schnittstelle für das Linting und die Korrektur von Code mit einer einzigen Konfigurationsdatei, unabhängig von den verwendeten Programmiersprachen. Zusätzlich wird die Installation der in der Konfiguration genannten Linter automatisiert. Neben der Nutzung in der Kommandozeile kann coala auch in den persönlich bevorzugten Editor integriert oder projektweit in Continuous Integration Pipelines ausgeführt werden. Dadurch wird sowohl eine schnelle und kontinuierliche lokale Unterstützung wie auch eine projektweite Durchsetzung der konfigurierten Richtlinien über alle von coala unterstützten Tools hinweg ermöglicht.
coala verfügt über eine Reihe offizieller (coala) bears oder Plugins für mehrere Sprachen, darunter C/C++, Python, JavaScript, CSS, Java und viele mehr, zusätzlich zu einigen generischen sprachunabhängigen Algorithmen.
Das Projekt wurde durch DigitalOcean und App Veyor gefördert und in Zusammenarbeit mit Remote Meetup vorangetrieben. Seit 2015 haben über 1 200 Engagierte aus der Open-Source-Community an coala mitgewirkt. Aus dieser Community wurde auch OESA heraus gegründet.