ProgrammingProgress is a desktop application to help measuring effort put into developing software.

The main goal of this application is to provide a tool that allows to count lines of code written in any arbitrary language and assess if the progress is related to the growth of the project.

Of course, we all know that sometimes the lines of code shrink due to refactoring done to the code. This issue was taken into account so the application allows to mark counted lines as a refactoring point. This way you can store the story of your project and think more in terms of what really has been done.

For personal use the application offers some benefits for the developer, mainly psychological benefits but also can solve some issues with time management. The main psychological benefits are as follows:

The practical benefits of counting lines of code come into play, when you work on multiple projects simultaneously. Knowing how much effort you've put on each of them, you can tell which project needs more attention and engagement. This allows for better planning by making decisions where to put the programming effort. Of course - it all takes some intuition and experience from the developer to really tell how well he performs and how advanced his projects are. To give you an advice, what you should do about your assessment skills its important to:

For beginners it's good to know that writing good code does not necessarily mean writting code that is super smart. The point of balance here lies between code readabilitiy, maintainability and performance. Due to the most popular rankings the application is targeted at the most widely used programming languages. It also takes the programming languages defined by the user. Each programming language is associated with one or more file extensions, which are the language specific source file types. It counts three kinds of lines:

The issue here, you can see is there is no place for comment lines. My though on this is that comments in the source code are integral part of a project from the standpoint of the developer. Comments allow for a better understanding of code and without them it's hard to read the code by other person, or even by the author himself, later when he comes back to the project. So by the importance of comment lines the design decision of this application was to include them in the project lines filled lines category. Also note that this isn't a full blown code assessment application. The goal here was to provide and user interface for the above task so the user can perform counting quickly and store the history of line counts.