Pix*_*ter 2 java null coding-style
我最近阅读了一些关于清洁代码和重构的书籍,特别是前者倾向于建议读者既不返回null,也不将其传递给任何函数(外来的,(为你)不可变代码,如官方库或外部框架,排除在外).参见例如Robert C.Martin - Clean Code:A Handbook of Agile Software Craftsmanship,第110-112页(第6次印刷).
根据我的经验,这通常是有道理的.而不是null,您通常可以抛出异常,返回空列表或数组,或使用一些创造性的解决方案来避免a的可能性NullPointerException.当然,你可能必须捕获自己的异常 - 但这仍然比通用更具表现力NullPointerException.
然后我想到你是否应该null完全避免- 即不只是在函数调用或返回语句中,而是在任何地方.从我所知道的,这应该是可能的和合理的.
但是 - 仍然是学生 - 我不完全确定该假设/指南是否总是正确的.因此我的问题是:
您是否应该null不惜一切代价避免使用?或者是否有使用它的情况将是更实际的解决方案,尽管存在风险NullPointerExceptions?忽略您必须处理无法影响的外国代码的情况,例如官方库.
我认为通常你应该避免使用它,但我认为它可能有一些用于内存管理.例如,您可能希望设置一些短期对象,以便null在完成这些对象时向垃圾收集器发出信号,告知您需要清理内存.
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |