什么时候是正确的时间,什么时候采取快速和肮脏的方法与适当的优雅解决方案是错误的时间?
这从我的问题的评论开始:用Java解码Base64数据.
我想要一种只使用内部Java或我写的东西的方法.唯一内置的方法是使用不受支持的sun.*包.那么什么时候才是正确的时间,何时采取这种方法是错误的?
在我看来,使用快速和肮脏的解决方案(又称黑客)的唯一"正确的时间"是...
有一个任务关键型错误需要立即修复,正确的解决方案实现起来非常复杂.
这是一个内部应用程序,一些高层需要实现快速功能(嘿,您和您的客户都不会使用它).
在任何情况下,您都必须平衡解决问题所花费的时间,然后平衡维护该解决方案所花费的时间.如果你所做的任何事情的生命周期都很长,那么预先花费的额外时间以正确的方式做事,可能会更容易维护,并且从长远来看会节省你的时间.
但是,如果有时间限制,过度处罚可能远远超过维护成本.例如,如果您必须将产品推出门外,请立即执行快速解决方案,然后将其记录为错误,以便稍后在修补程序或下一版本中修复.这将需要你重新完成工作,但就像我说的那样,这都是一种平衡行为,并且往往是由成本驱动的.