Code Reuse -- How to make a reusable component to provide more value to customers?
Hope the topic is not OT. I'm not sure if Dr. Carma McClure's claim that "software reuse is the best answer to the decade-old software crisis" is all that accurate. But I'm a firm believer in code reuse, probably it's a common practice by many developers, and I'd like to do better in this area. The intention of this posting is to seek wisdom and ideas. It's necessary to revisit some key benefits of code reuse to put the subject matter into perspective without going into detail: * Increased developers' productivity by reducing development time; * Increased software quality (premise: reusable components are reliable and of good quality); * Reduced cost; * Improved software interoperability; * conducive to maintenance and future enhancements Despite all these great benefits code reuse faces a few formidable challenges. Chief among them, IMHO, Context Prediction. Allow me to use a specific case to demonstrate the challenge, SureFire, a reusable component, URL, http://68.32.61.40/datadata/ddSearch.cfm. This simple component lets one search for data against any user table of a given database (MS SQL Server -based in this case). Say, in one environment/context, the business may not want certain table or tables to be accessable/searchable by the application. Easy solution, the component has a mechnism to handle this situation and the component configuration is easy as well. Now, in another environment, the business does not want data in certain columns to be viewed by the application users. Again, the component has a little nice mechnism to handle that. OK, now, the third business environment's given database has all this cryptic column names like fn, ln for firstName and lastName respectively, again, no problem, the component can address the semantic problem adequately. Now, the real challenge, it seems to me, is the enormous difficulty of adapting to many different usage contexts (failure to anticipate possible usage context(s)). How could a developer possibly do better in this area? Let's use the particular case when referencing concept(s). BTW, I read a bit on domain analysis by SEI, though informative, I can't extract practical value or to be more accurate, apply it to this case. Aother less important thing, can we consider the above mechnisms as "adaptable architecture"? Your thoughts and ideas would be appreciated. Li, Chunshen (Don) [EMAIL PROTECTED] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4