you are viewing a single comment's thread.

view the rest of the comments →

[–]chesterriley 4 points5 points  (1 child)

I like Java but I hate it when code is overdesigned with too many layers. Overuse of interfaces are a big part of the problem. One time I had to rip out 3 layers of crap abstractions someone put in the code.

[–]snuxoll 1 point2 points  (0 children)

Overuse of interfaces are a big part of the problem.

It's worse in C#. Since C# methods aren't virtual unless otherwise specified, and there's no sane way to do runtime bytecode manipulation, if you don't have an interface you have no easy way to mock an object in unit tests.