4 ms·
This will only address part of your question, about API design. I'd highly recommend Josh Bloch's writings. Josh is perhaps best known for the book Effective J
by jasonhong 6y ago
This will only address part of your question, about API design.
I'd highly recommend Josh Bloch's writings. Josh is perhaps best known for the book Effective Java and the Java Collections library. Here is a paper he wrote about good API design (https://dl.acm.org/doi/abs/10.1145/1176617.1176622 https://dl.acm.org/doi/abs/10.1145/1176617.1176622) and a short interview with him about API design (https://www.infoq.com/articles/API-Design-Joshua-Bloch/ https://www.infoq.com/articles/API-Design-Joshua-Bloch/).
Brad Myers at CMU also has done research on API usability. See here for more details: http://www.cs.cmu.edu/~NatProg/apiusability.html http://www.cs.cmu.edu/~NatProg/apiusability.html
Lastly, if you're doing anything remotely related to security, I'd also recommend Matthew Smith's research. He's studied a lot about weaknesses of today's API designs and how they have led to security vulnerabilities.
https://ieeexplore.ieee.org/abstract/document/7676144 https://ieeexplore.ieee.org/abstract/document/7676144