Article 39DAN CodeSOD: Aarb!

CodeSOD: Aarb!

by
Remy Porter
from The Daily WTF on (#39DAN)

C++'s template system is powerful and robust enough that template metaprogramming is Turing complete. Given that kind of power, it's no surprise that pretty much every other object-oriented language eschews templates for code generation.

Java, for example, uses generics- essentially templates without the metaprogramming. What we still keep is compile-time type-safety, and all the benefits of generic programming, but without the complexity of compile-time code generation.

Thierry L inherited a Java application, and the original developer seems to miss that degree of complexity.

public abstract class CentralValidationDistributionAssemblingService< DC extends DistributionChannel, DU extends DistributionUnit<DC>, AC extends AssemblingContext, EAC extends AC, A extends Assembly<DC>, AAR extends AbstractAssemblingResult<DC>, AARB extends AbstractAssemblingResultBuilder<DC, AAR> > implements DistributionAssemblingService<DC, AC, DU, AAR>{ //"}

The best part about this is that the type abbreviations are an onomatopoeia of the choking noises I made when I saw this code:

"DC" DU?" AC-EAC! A-AAR-AARB!"

otter-icon.png [Advertisement] Infrastructure as Code built from the start with first-class Windows functionality and an intuitive, visual user interface. Download Otter today! TheDailyWtf?d=yIl2AUoC8zAZrke9WgrEtg
External Content
Source RSS or Atom Feed
Feed Location http://syndication.thedailywtf.com/TheDailyWtf
Feed Title The Daily WTF
Feed Link http://thedailywtf.com/
Reply 0 comments