Skip to content

Latest commit

 

History

History
28 lines (17 loc) · 700 Bytes

09-Considering_Correctness.md

File metadata and controls

28 lines (17 loc) · 700 Bytes

Considering Correctness

Avoid Typeless Interfaces

Bad Idea:

std::string find_file(const std::string &base, const std::string &pattern);

Better Idea:

std::filesystem::path find_file(const std::filesystem::path &base, const std::regex &pattern);

The above is better but still suffers from having implicit conversions from std::string to std::filesystem::path and back.

Consider using a typesafe library like

Note that stronger typing can also allow for more compiler optimizations.