Assert is a great tool to find errors, bugs, or unintended behaviors on runtime. If implemented correctly, asserts give developer context information about when and where in the code an issue showed up.
Best practices are methods that have been demonstrated to be effective and can be replicable in other contexts.
“Quality is not an act; it is a habit” - Aristotle
It’s OK to build very complex software, but you don’t have to build it in a complicated way.
When working alone or in a team, it’s important to keep a consistent code style. And the easiest way is to automate it.
If you’re completely new in this area, this is the selection I would recommend. It’s important to note that if you have no programming experience or engineer background, these books would a bit hard to read.
Working with makefiles has a huge advantage over working on Eclipse.
This is a short introduction to Rakefiles.
I was working on a small project with a Texas Instruments microcontroller.
Debugging is hard work. It’s so hard that people expect that debugging will take 50% of the project time.