AEW*_*AEW 14 java enums coding-style nested-class inner-classes
我最近遇到了一个编码标准声称你永远不应该使用Java中的公共内部枚举/类.这是我第一次遇到这个惯例,并且未能找到令人满意的解释原因.
我理解为什么应该避免使用公共内部类,但是为什么你永远不会使用公共嵌套枚举?或者,为什么这是一个糟糕的惯例?
Viv*_*ath 13
免责声明: 以下不是硬性规定.这些只是我的意见和个人喜好.我个人发现它使我的代码更容易阅读,更容易维护.
首先是一个问题.你在哪里遇到这个建议?他们提供了任何理由吗?
根据我的经验,我通常使用私有嵌套枚举来增强代码的可读性和可维护性.当您执行与其他系统的集成并且必须发送特定字符串或数字时,这尤其起作用.我发现使用枚举可以使事情更容易阅读和维护.在这种特定情况下,枚举所传达的信息在范围内受限于班级(即,在课堂之外没有任何意义,没有其他人需要它).
我想不出一个明确的理由说明为什么公共内部枚举是一种不好的做法.但这是我不(通常)使用它们的原因:
ThirdPartyResponseCodes.Success眼睛更容易而不是ThirdPartyIntegrationInterface.ThirdPartyResponseCodes.Success.没有理由为什么你不能恰当地命名枚举来提供上下文,从而使它成为一个独立的枚举.