Re:38% of bugs at Airbnb could have been prevented by using ...
by jimbo1qaz on Monday February 11, 2019 @09:19AM
(#19134599)
The Agg C++ library defines every class as a template, taking duck-typed parameters:
- type of Agg object passed into object
- type of "algorithm" used (or similar)
I read matplotlib's Agg C++ backend. Guessing which Class A could be passed into various template parameters in Class B was miserable because of duck typing. And it also broke "jump to definition".
```
Class B<A> {
A a;
}
this->a.foo(), but you don't know what type a is.
```
- type of Agg object passed into object
- type of "algorithm" used (or similar)
I read matplotlib's Agg C++ backend. Guessing which Class A could be passed into various template parameters in Class B was miserable because of duck typing. And it also broke "jump to definition".
``` Class B<A> { A a; } this->a.foo(), but you don't know what type a is. ```