A condition of source code expansion often associated with CreepingFeaturitis-induced CodeSmell''''''s and an unwillingness or inability to RefactorMercilessly. The opposite of GoodTightCode. ---- I dunno. I have never heard CodeBloat used to imply that the code was de facto bad code, just that CreepingFeaturitis had not been stopped and every last bit of the MarketeeringDroid's dreams had been included. ---- What is the difference, if any, between BloatWare and CodeBloat? In common parlance, BloatWare is software actually ''on the market'' in some capacity which you can install and run, but users only find themselves using maybe 20% of its supported features. It is a relative assessment of code size versus functional utility of the product. For example, if all you ever use Microsoft Word for is writing shopping lists, you might find yourself aggravated with its long start-up time and user-hostile interface. To you, Word would unequivocally be BloatWare. However, to a professional author, she might find herself threatening her monitor with physical gestures about the next time Clippy pops up in the middle of writing the next chapter of her long-awaited sequel to a national best-seller. This, too, is considered BloatWare; she might feel that her hard-earned cash is being used to support unintelligent cartoons instead of tools to help her as a professional author. CodeBloat, meanwhile, is more objective and lower level in scope; unlike the subjective BloatWare, CodeBloat can actually be ''measured'', assuming you have access to the program's set of specifications. It perhaps is best explained by way of example: * requiring a complete ComponentObjectModel or CommonObjectRequestBrokerArchitecture implementation to support a plug-in system that otherwise has much simpler requirements. * mandating errors be checked even if it can be proven errors ''cannot'' occur at those points in the code (yes, array bounds-checking versus unchecked array indices falls into this category). * Supporting multiple languages and internationalization even though 90% or greater of your target audience speaks only one language. * Beautifying icons, often by increasing the color depth and/or resolution, which otherwise do not contribute to the productivity of the software in any other way. Thus storage requirements increase. * ''Any'' code which you need to write that is boilerplate (and thus, violates DontRepeatYourself in the global scope of the software as shipped), or which exists solely to ''undo'' some backwards interface imposed by software which ''cannot'' be removed for compatibility reasons. ''(Footnote: Interestingly, more than half of the Win32 API falls under this latter category. C''''''reateWindow() versus C''''''reateWindowEx(), for example.)'' ---- see: ForthValues, CodeStyleReflectsOrganization, BloatInducedReadingConfusion