reference¶
Object Oriented Programming with ANSI-C¶
https://www.cs.rit.edu/~ats/books/ooc.pdf
P174
This design was motivated by the Class-Responsibility-Collaborator technique described in [Bud91]: We identify objects more or less by looking at the problem. An object is given certain responsibilities to carry out. This leads to other objects which collaborate in carrying out the work. Once the objects are known, they are collected into classes and, hopefully, a hierarchical pattern can be found that is deeper than just one level. The key idea for this application is the Ic class with the capability of receiving, changing, and routing information. This idea was inspired by the Interface Builder of NeXTSTEP where much of the information flow, even to application-specific classes, can be ‘‘wired’’ by mouse-dragging when the graphical user interface is designed with a graphics editor
[Bud91] T. Budd An Introduction to Object-Oriented Programming Prentice Hall 1991, ISBN 0-201-54709-0.
C++ High Performance¶
https://www.amazon.com/High-Performance-Master-optimizing-functioning/dp/1839216549/ref=pd_rhf_d_dp_s_pd_crcd_sccl_1_3/133-7502080-8031538?pd_rd_w=RItVx&content-id=amzn1.sym.cee83ff1-8fc1-4533-a3f5-bf3d998f4558&pf_rd_p=cee83ff1-8fc1-4533-a3f5-bf3d998f4558&pf_rd_r=1M9DBDV6DDVNS1HNVVHN&pd_rd_wg=aRQ69&pd_rd_r=7b91d972-defb-4e90-8077-bbe9886b0602&pd_rd_i=1839216549&psc=1
Software Design X-Rays¶
Fix Technical Debt with Behavioral Code Analysis https://pragprog.com/titles/atevol/software-design-x-rays/
Why I write dirty code¶
https://www.adamtornhill.com/articles/code-quality-in-context/why-i-write-dirty-code.html
My 5 worst bugs¶
https://www.adamtornhill.com/articles/worstbugs/lessonssystemdesign.html
Patterns in C¶
https://leanpub.com/patternsinc
Real-Time C++¶
Efficient Object-Oriented and Template Microcontroller Programming