Sunday, February 21, 2010

java.util.DuctTape

Overview

The proposed class, java.util.DuctTape, is designed as a general purpose fix for a variety of commonly-observed situations in production code. It serves as a temporary patch until a permanent solution is developed and deployed.

Features

DuctTape has the following features:
  1. Transform any internal data representation into any external representation without creating dependencies on either side.
  2. Transform any component interface into the interface required by any caller, again without creating dependencies.
  3. Perform branches into any point in existing code, and returns from any point in existing code, allowing for maximal reuse without recoding where logic already exists to perform some function.
  4. Intercept attempted calls to any unimplemented method and send an email request to support to perform the operation manually
Discussion

The utility of a properly-executed DuctTape implementation seems obvious. Once code is in production, users inevitably find edge and corner cases (and sometimes whole use cases) not anticipated by the requirements, design, implementation, or QA teams. The lead time required to implement these cases is often not available; a quick-and-dirty DuctTape-based solution is required to keep things running smoothly. A standard DuctTape implementation is far preferable to the hacks commonly used to hold things together until the next point release.

We urge immediate action on this by the developer community.

Acknowledgement

Thanks to Bob Hedlund for the original DuctTape class concept. Thanks to the TCAS team for suggestions on the feature list.

No comments:

Post a Comment