Long class names?
Spring, one of the most complete J2EE frameworks is getting more and more popular now. It has been touted as the most well written Java Framework (Chances are your tech lead is going to point you towards Spring code if you are a code junky).
I find Spring a joy to use and a convenience that I cant dispense with. But here are a few things I dont like about them. (These things are grossly outweighed by things that I love about them)
PS: No disrespect meant to the springsource, by any means. I can write about the 1000s or so good things I like about them, but you could find them in blogs, articles anyways......right?
I find Spring a joy to use and a convenience that I cant dispense with. But here are a few things I dont like about them. (These things are grossly outweighed by things that I love about them)
- What is it with long class names? AbstractTransactionalDataSourceSpringContextTests, AnnotationAwareAspectJAutoProxyCreator, AspectJAdviceParameterNameDiscoverer, CallbackPreferringPlatformTransactionManager, DelegatePerTargetObjectIntroductionInterceptor,HashMapCachingAdvisorChainFactory, IncorrectUpdateSemanticsDataAccessException, InstantiationAwareBeanPostProcessorAdapter. Please have some mercy on common people like me. Now I am no Rod Johnson but would it make sense to rename a "IncorrectUpdateSemanticsDataAccessException" to "UpdateSemanticsException" we could infer that it is a DataAccessException since it subclasses it and we could also avoid "Incorrect" since it is fairly easy to guess that a SemanticsException is raised when semantics are "incorrect"(null being one exception). I dont understand the other class names enough to suggest an alternative but am sure it is not hard (or so do I think?).
- For God's sake please please build and keep all the old source repositories, you have done a marvellous job of breaking the Spring jar into modules which is fantastic but often to adore the code you have written I dont get the source libraries (Try for example finding springmvc-2.0.7-sources.jar ?)
- Please also fix the Spring OSGi libraries, in order to get our newbies started about OSGi you need a bundle that works right out of the box (so that they can get to play around quickly with the examples). I was involved with eclipse plugin developement, and kinda hacked a bit to get the commons-logging working but one of my colleagues with no previous knowledge of OSGi took like 3 days and still wasnt able to get Hello World going. He was hoping that adding the logging jar in class path of a project will solve it, whereas in OSGi you got to export/import packages and add dependencies in the manifest.mf (and the actual version of the library being resolved by the container at runtime)
- Wherever possible aim for a simpler solution. If you attempt to debug a simiple TransactionBinding issue, with just 10 seconds of navigating I have as much as 20-30 files open (Agreed I am very bad, when I see more than 5 files at at time in eclipse). Transaction IMO is fairly complex thing but take something like PropertyPlaceholderConfigurer (huh again long class name) for example......
PS: No disrespect meant to the springsource, by any means. I can write about the 1000s or so good things I like about them, but you could find them in blogs, articles anyways......right?