Summary
Keywords
Full Transcript
In this lesson, you'll learn about software assertions and, more formally, the Design by Contract methodology in the context of embedded programming. This is part-1 of the two-part series on this subject. Contents with Timestamps: ------------------------- 1:25 What are software assertions? 1:46 Standard assertions in C 3:07 Demonstration of standard assertions on a desktop 4:37 Disabling standard assertions 5:49 Software Errors 6:38 Exceptional Conditions 7:17 Attempts to "handle" Errors as Exceptional Conditions 7:24 "Defensive Programming" 8:36 Fallacities of "Defensive Programming" 9:20 Design by Contract method 10:00 What assertions are NOT 11:02 The true purpose of assertions 11:24 Priorities for dealing with errors 11:49 Assertion handler as the last line of defense 12:00 Assertions as fuses End Notes: ---------- Companion web page to this video course https://www.state-machine.com/video-course/ Project download for this lesson: https://www.state-machine.com/course/lesson47.zip GitHub repository for projects for this video course: https://github.com/QuantumLeaps/modern-embedded-programming-course Transcript of this lesson: https://www.state-machine.com/course/lesson47.txt References resources: --------------------- Key Concepts: Design by Contract https://www.state-machine.com/dbc Bertrand Meyer, “Applying Design by Contract”, IEEE Computer, 1992 https://www.state-machine.com/doc/Mayer92.pdf Miro Samek, “An Exception or a Bug?”, C/C++ Users Journal, June 2003 https://www.state-machine.com/doc/Samek0308.pdf Quantum Leaps, Design By Contract (DBC) for Embedded C and C++, GitHub https://github.com/QuantumLeaps/DBC-for-embedded-C Music credits: -------------- The background music comes from: https://www.bensound.com/royalty-free-music/track/straight
