Sublime code is a tool to help the software understanding through a static interpretation and / or dynamics of an open source project structure.
Many aspects of our lives depend directly or indirectly from a multitude of software, and a large part of them is, today, free software. Indeed, many open source projects have emerged; some are very well known and widely used in the public domain. What makes the power of these free projects is the free collaboration of its development community. Open source’s world shows the possibility of unifying the work of many developers spread around the world. Thus, if someone wants to develop a new feature or correct a mistake, he can give his work in favor of the software and its community.
However, the increasing complexity of technologies makes many projects become increasingly heavy and complex. This trend may slow down the contributions; it becomes more difficult to get involved in a project difficult to understand. The right question to ask is what kind of information do I need to understand how a software that I do not know have been developed and that in order to be able to contribute to this project?
There is software that offers a static or dynamic analysis of a project but it is often very specific or too complex for a user who wishes to simply take over the source code of a project. In addition, the results are usually displayed inside the console and not in a dedicated GUI. Therefore, the interest of creating a new tool that would help that person to analyze how the project was structured or provide him what is necessary to understand how the software works becomes crucial today. This will come up with an interface offering comfort and ease of use.
The goal is not to redevelop what already exists, or even to bring even more complex results, but to assist in understanding software by extracting the necessary information to the user who wants to master the program code including through a static interpretation of it.
Thus, relying on tools such as CTags (symbol generator) or CScope (symbol identifier), the application offers a more complete solution by handling their results and making them fit directly into an ergonomic interface for the user using a display in the form of graphs or diagrams that will to facilitate the readability of the data. Plus, the possibility to get the sources directly from revision control systems offers more flexibility to the users.
In addition to the ergonomics part of the tool, the analysis does not solely rely on the harmonization of different software but brings real added value with a more accurate analysis with a complementary treatment applied to these data. Based on these data provided by the software understanding tool which will provide the information needed to fully understand the project, it will be to the user to make good use of it to measure how complex the project is and how big is the task to realize.