java - 命名空间导入库以在 Java 中清晰
问题描述
是否可以保留在 Java 中导入的方法的名称空间?我从技术和实践的角度想知道。
例如,假设我正在导入spark库,所以我可以使用它的get()
方法,我可能会做类似的事情
import static spark.Spark.*;
public static void main(String[] args) {
get(....);
// do stuff
}
对于看到这个的人(尤其是当项目更大并且导入了一些东西时),“get()”的来源并不是很明显。我很想能够做这样的事情
import static spark.*;
public static void main(String[] args) {
Spark.get(....);
// do stuff
}
如您所见,该get()
调用现在在视觉上命名为Spark
.
这通常被认为是允许的,还是这种方法有缺点?如果是这样,为什么更多的项目不使用这种方法?
谢谢!
解决方案
在我看来,这完全取决于你真正使用的是什么——静态调用上的类名是可以的,但是当你经常使用某些东西时就会出现问题——因为这样你就涵盖了虚假感觉背后的逻辑。
另外我想说 get 对于静态方法来说是一个非常糟糕的名字——如果方法名有更多的含义,那么它们对类名的依赖就会减少——但是在这里我们在使用框架时别无选择。
推荐阅读
- javascript - 如何在节点中导出 JS 模块
- python - 无法检查列表的长度,我想检查大于 0 的列表长度而不是遍历它并渲染每个元素
- mapbox - Mapbox GL-JS:为什么我在正常工作时会出现图像加载错误?
- r - 将特定文件夹移动到 R 中的新文件夹➡
- mongodb - 为什么 mongodump 执行 COLLSCAN?
- mysql - mysql没有读取整个文件,而是在使用“本地加载数据”时跳过行
- centos - 如何在 Centos 上安装 OctoberCMS?
- angular - Angular 2 和 Slim PHP 框架:如何正确转义字符串以在 GET 请求中使用
- jmeter - 如何在 JMeter 中插入请求之间的时间间隔?
- r - 如何识别列中多行的模式并使用 R 填充有关该模式的信息的新列?