Skip to content
AndresFelipeCastellanos edited this page Oct 15, 2021 · 2 revisions

Linter

We have integrated linters to the code editor on UNCode for several programming languages. A linter is a software tool that analyzes source code to flag programming errors, bugs, stylistic errors, and suspicious constructs. For flexibility, we have integrated Coala12, which is a unified interface for linting and fixing code, regardless of the programming languages used. Coala has a set of plugins for several languages. In particular we are using linters for popular languages such as C/C++ (OClint), Python (Pylint) and Java (JavaPMD). Linters are useful to recommend to the students the best programming practices while they are learning. These tools help students to deal with code maintainability issues in advance.

The mentioned linters are provided via a Docker service on Docker hub, where the image is called unjudge/linter-web-service, the source code is located in the repository linter-web-service.

When a student edits their code in the integrated code editor on UNCode, they can click on "Perform lint" button to send a request to the Linter service in order to obtain some information about their code. Instructors can also click the button when reviewing students submissions.

Contributing

Check the repository, there you will find guidelines on how to start contributing in this repository.

Clone this wiki locally