3 ms·
This might be controversial, but if you want a good example of a code base where this is painfully obvious look at Android, especially the UI components. There
by hacknat 12y ago
This might be controversial, but if you want a good example of a code base where this is painfully obvious look at Android, especially the UI components. There are interfaces for everyyyyything.
So many of the UI components are unnecessarily internal, which can be a pain in the butt if you want to do something just slightly different than default (you obviously can't inherit form an interface, so you end up copying the code). A lot of the cruft is probably from trying to make Java work, but when I read through the code I find myself wondering why it was implemented the way it was implemented and the only explanation I've been able to come up with is the one described in this post.
- rifung 12y agoI completely agree. I find the Android APIs absolutely appalling. My former coworker knows both iOS and Android, having done Android for many years, and he refuses to program for Android ever again. He would also tell me that the time it takes to implement things in Android is usually 1.5x - 2x longer than the equivalent thing on iOS