- Recurring engineering generally exceeds the one-time cost of proper up-front design over the life of the product.
- It complicates component upgrades and reduces the incentive to stay current.
- Pollution of third-party code bases may introduce defects for which the third-party vendor's test program has no test.
- It is a common omission in workflow when a project is transfered among developers.
- End users who know the component is included may be surprised when it behaves different from how they expect.
Techniques for avoiding the burden of tracking development include (in order of preference)
- Careful selection of the foreign component, and limiting interaction with it to its documented out-of-the-box behavior.
- Collaboration with the component vendor to support the needed interaction.
- Wrappers and glue layers that translate between the component's out-of-the-box behavior and the needed behavior.
- Expression code-level modifications as patch(1) files.
No comments:
Post a Comment