Stylechecker Plug-in for Cevelop

Abstract

In design work, a styleguide defines rules and guidelines to be adhered to for achieving a uniform visual look. Styleguides as such also exist for source code. Additionally, to contributing to a visually pleasing codebase, a styleguide increases understandability and readability of source code. In many projects, coding guidelines exist and are part of the development cycle ranging from a small set of rules to a broader compilation of guidelines to be followed. Cevelop is an integrated development environment (IDE) for C++. It is developed and maintained by the Institute for Software (IFS) at HSR. Cevelop itself is based on the Eclipse C/C++ Development Tooling (CDT) project. Currently, Cevelop is lacking the feature of styleguide checking. The primary goal of the Stylechecker plug-in for Cevelop is providing the capabilities to perform styleguide checking and rule violation reporting. Furthermore, the plug-in is to offer automated resolutions wherever possible. In the scope of this project, the focus lies on covering naming conventions for three predefined styleguides: Google styleguide, Canonical styleguide and Geosoft styleguide. Additionally, users need to be able to create custom styleguides, define rules for it, change existing ones and import/export styleguides for sharing with team members. The implemented Stylechecker plug-in realizes styleguide checking as well as automated resolutions. To achieve this, the plug-in uses the abstract syntax tree provided by Eclipse CDT. Furthermore, the Stylechecker plug-in uses CDT's code analysis (Codan) framework, an integrated Eclipse CDT plug-in, providing facilities to create markers and resolutions for C++ development. In combination, checking, reporting and initiating resolutions become available. The Stylechecker plug-in allows users to compose custom styleguide rules by joining one or more expressions, defining the language elements to check the rules for and providing custom messages on reporting

    Similar works

    Full text

    thumbnail-image

    Available Versions