Simplifying Concepts.
Accelerating Innovation.

Jacob's Blog

Jacob Beningo
| |

Embedded Basics – Back to basic best practices …

No matter how wide spread and common place I believe embedded software best practices are, I continually come up against engineers and companies that are either just getting started or in such a frenzy that the basics get thrown out the window. Here are some basic best practices to keep in mind no matter how frantic and crazy the development cycle gets.

  • Break application up into small manageable pieces
  • Encapsulate and manage variable scope
  • Limit the size of functions to no more than a single printed page
  • Use descriptive naming conventions
  • Never write clever code only functional and readable code
  • Always null terminate strings!
  • Make sure that you properly initialize all pointers and arrays with known values
  • Don’t create more than one level of dereference by avoiding pointers to pointers.
  • Bound pointers to a region of memory and check them constantly
  • Remember that arrays are NOT pointers
  • Keep functions to a cyclomatic complexity less than 10
  • Always check that a function pointer is not NULL before executing
  • Make configuring assert one of the first things you do when creating a project
  • At least 25% of the lines of code should be comments

Missing puzzle piece

 

* * *

Struggling to keep your development skills up to date or facing outdated processes that slow down your team, raise costs, and impact product quality?

Here are 4 ways I can help you:

  • Embedded Software Academy: Enhance your skills, streamline your processes, and elevate your architecture. Join my academy for on-demand, hands-on workshops and cutting-edge development resources designed to transform your career and keep you ahead of the curve.
  • Consulting Services: Get personalized, expert guidance to streamline your development processes, boost efficiency, and achieve your project goals faster. Partner with us to unlock your team's full potential and drive innovation, ensuring your projects success.
  • Team Training and Development: Empower your team with the latest best practices in embedded software. Our expert-led training sessions will equip your team with the skills and knowledge to excel, innovate, and drive your projects to success.
  • Customized Design Solutions: Get design and development assistance to enhance efficiency, ensure robust testing, and streamline your development pipeline, driving your projects success.

Take action today to upgrade your skills, optimize your team, and achieve success.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.