一尘不染

为什么Java中的文件名与公共类名相同?

java

在Java中,文件名应与该文件中public class包含的文件名相同。为什么会有限制?它有什么作用?


阅读 427

收藏
2020-03-02

共1个答案

一尘不染

Java有一个有趣的方法:给程序员一个选择只能降低编程经验,而不必选择。

他们在很多地方都这样做。确保使用文件名和软件包,但不允许在文件中使用多个公共类(从来没有),不允许您在文件之间拆分类(该死,很难使用!),等等。

我真的希望他们走得更远。没有理由使用公共变量:我从来不需要一个变量,也从未见过一些聪明的程序员认为需要一个变量并且实际上是正确的情况。

我也不介意看到方法/类的大小限制,但是这可能会很粗略(可以很容易地由代码检查器实现,问题通常是,需要最大帮助的公司就是那些不知道需要帮助的公司帮助,因此,请勿使用代码检查器之类的工具)。

这对大多数小型团队而言并不重要,但是当您的团队发展壮大并拥有来自印度,中国和世界其他各地顾问的多个站点时,您就会开始意识到这种灵活性。

针对设置者/获取者的评论:

Java Bean是Borland创建的一种可恶的工具,用于破解其GUI,然后改型为Java。

可怕的想法-从OO编程分散注意力-字母和设置器A)显示了太多的实现,并且B)使您考虑对另一个对象的数据进行操作,而不是要求另一个对象为您执行操作。对于尚无法在OO中进行思考的人来说,是很糟糕的事情。

偶尔需要使用吸气剂,但除非绝对无法避免,否则不应添加。

应不惜一切代价避免二传手。如果在构造对象后绝对需要从外部修改状态,请尝试使用构建器模式并保护您的setter避免在执行任何操作后被调用。

显然,所有事物都有例外,许多“ Getters”实际上是关键的对象业务逻辑,例如String.length(),无论String是如何实现的,甚至不仅仅通过返回属性来实现,都需要使用它。如果您甚至想称呼它为“ Getter”。

2020-03-02