filestat is my learning effort for application development in ANSI C
Some important learning points are:
- A refresher on writing code in ANSI C language.
- Setting up a coding environment with Sublime Text 2.
- Played with different build tools for C like QBS, premake, cmake, etc. Currently I have chosen to use cbuild.
- Played with some static analysis tools like Splint, CppCheck, OCLint, RSM. RSM is a rule based static code analyser which allows writing custom rules. But RSM doesn't do memory leak checking. In this respect OCLint appears very interesting though it is still in development stage. However I couldn't find a binary of OCLint current version for 32bit Ubuntu and building in my laptop failed.
- Played with different unit testing frameworks for C and currently using CuTest for unit testing.
- Code coverage for unit testing has been calculated using gcov/lcov tool.
Some TODOs
- Implement check for memory leaks at the time of running unit tests.
- 50% of the code is not unit testable due to bad design. A redesign of the code keeping unit testability in mind.