Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Software Engineering Is About Tradeoffs

NDC Conferences via YouTube

Overview

Limited-Time Offer: Up to 75% Off Coursera Plus!
7000+ certificate courses from Google, Microsoft, IBM, and many more.
This course explores the concept of tradeoffs in software engineering, emphasizing that there is often no singular "best" solution to a problem. Participants will learn about major tradeoffs and disagreements in C++ design, as well as encounter real-world issues faced during the creation of a modern C++ physical units library. The teaching method involves presenting various alternative solutions to problems and engaging the audience in decision-making processes. This course is intended for software architects, developers, and individuals interested in understanding the complexities of software design and the necessity of making tradeoffs in the field of software engineering.

Syllabus

Intro
Problem Solving vs. Point of View
The cost of finding the best solution
std::string (simplified)
How often do you analyze exception safety of your code?
The importance of the Exception Safety Guarantees
Imagine the C++ Standard Library with only Basic Exception Safety Guarantee
Never-Empty Guarantee of Boost.Variant
Unit-Specific Aliases: Example
Quantity References: Example
User Defined Literals: Example
Standardization takes time
Comparison
One Definition Rule (ODR) - Translation Unit
One Definition Rule (ODR) - Program
Problem: One Definition Rule Violation
But this is how some customization points behave
Solution #1: Keep it as it is
Compile-time error when resulting dimension or unit is
Get rid of the Downcasting Facility
Designing is Hard

Taught by

NDC Conferences

Reviews

Start your review of Software Engineering Is About Tradeoffs

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.