这样上文中提到的隐式接口的各种问题都可以得到不同程度的解决:
- 调试困难。现在可以抛出具有足够信息的错误,便于调试。上述例子中
assert
的第二个参数可以极尽详细地描述错误。 - 容错困难。实现应满足一切合法输入,不再需要在实现的过程中进行容错,减少容错也让正确性更加明显。
- 重构困难。防卫性的接口描述可以做到足够清晰,接口描述不再影响重构。上述例子中,只需要继续支持
POST
,PUT
即可保持接口的向后兼容。
Read full article from 适当地引入防卫性编程 | Harttle Land
No comments:
Post a Comment