1

C++Now 2021

 3 years ago
source link: https://cppnow2021.sched.com/event/hhkp/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Preconditions, Postconditions, Invariant...Back To Schedule

Wednesday, May 5 • 7:00am - 8:30am

Preconditions, Postconditions, Invariants: How They Help Write Robust Programs

Log in to save this to your schedule, view media, leave feedback and see who's attending!

This is going to be a high-level overview of certain notions related to program correctness: (a) function contract, (b) precondition, (c) postcondition, (d) invariant.
Even if you are not familiar with these terms you are probably using them already, as they are key to writing correct programs.

In this talk we will see:
1. How thinking in these terms helps us write code more consciously and with fewer bugs.
2. How these terms are reflected today in code (spoiler: comments, assert() and "contract-encoding" types).
3. How different tools, like static analyzers or IDEs, can be improved if things like preconditions can be expressed directly in code.
4. What the difference is between a bug and a symptom of a bug, and how to fix bugs rather than conceal their symptoms.

No prior knowledge of the subject is assumed. By the end of the talk:
1. You will appreciate and be willing to apply the Design by Contract methodology, even if it means putting more asserts() and comments in your code.
2. You should be able to tell why a "contract" is not a sum of preconditions, postconditions and invariants.
3. You will understand how "contract-encoding" types and preconditions/invariants are complementary features.


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK