Working on the DueDil codebase was my first encounter with a “legacy” application. Consulting and startup land has shielded me from this experience. When maintaining and improving such applications you get an appreciation for commit messages. It can be a saving grace when inspecting the git log reveals a fleshed out train of thought for why the code you’re looking at was modified the way it was. I’ve been saved enough times that I’ve started paying forward my dues over the last 2 years. One recent addition has been getting more systematic about how I style my commit messages.
I’ve adopted the AngularJS convention for prefixing commit messages with feat, fix, docs, style, refactor, perf, test or chore. It’s a small thing, but it’s great when reviewing a bunch of commits.
feat: A new feature fix: A bug fix docs: Documentation only changes style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) refactor: A code change that neither fixes a bug nor adds a feature perf: A code change that improves performance test: Adding missing or correcting existing tests chore: Changes to the build process or auxiliary tools and libraries such as documentation generation
For a comprehensive read on writing better commit messages, I suggest this piece.