Somebody asked if the results of studies like these are generalised beyond the specific APIs being tested. The answer is yes, they are. There are a couple of ways we do this.
- I work with Krzysztof, Brad, Joe, Mitch and others on the WinFX review team. Whenever we’re reviewing an API, I’ll look for API designs that I think will exhibit the same issues that have been observed in the labs. We’ll discuss during the review the extent to which the same issue may or may not manifest itself in the API we’re reviewing and the API team will decide whether or not they will make changes. An example of such an issue is the use of attributes.
- When we observe patterns of behavior across multiple studies we roll these up and produce a design guideline that aims to inform API designers how to avoid the same issue. An example of a pattern we’ve seen that turned into a design guideline is the recommendation to favor using enums instead of bools to improve readability of code.