【问题标题】:Java: Is creating a "System" class a bad thing? [closed]Java:创建“系统”类是件坏事吗? [关闭]
【发布时间】:2015-05-24 13:36:09
【问题描述】:

我最近开始了一个 Java 项目,其中包含一个名为 System 的类。这个类(幸运的是)包含用于输出管理的方法,所以在极少数情况下我需要使用System.<em></em> 方法(或一般的System 对象)我只是将其引用为java.lang.System.。我相信这可以被看不起,因为System 可以被视为保留名称。我目前处于该程序的初始阶段,并且可以相应地快速更改它,因为对类本身的调用很少。

【问题讨论】:

  • 这并没有错。 System 显然不是保留字。仅仅因为一个受欢迎的课程被命名为System 并不意味着您不能或不应该创建自己的如果这是您的课程可以合理使用的最佳名称
  • 谢谢。这很有帮助,但为了这个计划的未来,我会重新考虑我的整体计划结构。
  • 我真的会尽量避免遮蔽来自java.lang 的任何内容。
  • java.lang.System 类的流行将使其他人更难理解您的代码,如果他们不首先熟悉您的代码是如何工作的。鉴于人们遇到java.util.Datejava.sql.Date 的问题数量很多,我建议您不要使用它,并尝试看看您是否可以更恰当地命名它。也就是说,如果您对此感到满意,那么没有什么能真正阻止您。还有人担心java.lang.*会自动导入……

标签: java class naming-conventions naming classname


【解决方案1】:

虽然这并不违法,但您不想这样做。如果我是下一个处理您的代码的人,我会做的第一件事是尝试从“java.lang.System”中删除“java.lang”,然后在它无法编译时感到恼火。

我们的想法是尽量简洁,只写你需要写的东西,同时让下一个人理解这一切。它更像是一门艺术而不是一门科学。

您总是可以将其命名为 ProjectnamehereSystemOutputManager 或类似的名称。

【讨论】:

  • 谢谢。那个结构缺陷是在我身上,我会想办法解决它。
【解决方案2】:

我不会创建类似命名为重要类的东西。虽然一切都很容易编辑,但您可能能够跟上所做的所有更改。

但是当项目发展时,事情会变得混乱和复杂。我建议将其命名为其他易于区分的名称。

【讨论】:

  • 谢谢。我将重新考虑我的程序结构,因为我已经弄清楚了我的代码的混乱。这很有帮助。
猜你喜欢
  • 1970-01-01
  • 2018-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-30
  • 1970-01-01
  • 2010-11-01
相关资源
最近更新 更多