I recently applied to a very well-known agile consulting shop and was rejected because of certain issues with the take-home exercise. For example, in the exercise I used a priority queue, which I had implemented as a single class (just the queue, which is to say a heap - nothing else). But these guys thought it should be broken into several classes, because a single class must not have more than 150 lines of code and the implementation was slightly more.
After that, I checked implementations that are available online. Every single one was implemented as a single class, including the ones implemented by Microsoft, Oracle, etc. And why not? It does not make much sense to break down this structure further.
But these best practises have taken on a life of their own.
After that, I checked implementations that are available online. Every single one was implemented as a single class, including the ones implemented by Microsoft, Oracle, etc. And why not? It does not make much sense to break down this structure further.
But these best practises have taken on a life of their own.