java - 在将变量作为参数之前声明变量是Java的最佳实践吗
问题描述
假设这段代码:
public static Dataset<Row> getData(SparkSession sparkSession,
StructType schema, String delimiter, String pathToData) {
final Dataset<Row> dataset = sparkSession
.read()
.option("delimiter", "\\t")
.csv(pathToData);
StructType nSchema= newSchema(schema, schema.size(), dataset.columns().length);
...
}
在将它们提供给 newSchema 方法之前声明变量并使其成为最终的最佳实践,就像这样?
public static Dataset<Row> getData(SparkSession sparkSession,
StructType schema, String delimiter, String pathToData) {
final Dataset<Row> dataset = sparkSession
.read()
.option("delimiter", "\\t")
.csv(pathToData);
final int dataSize = dataset.columns().length;
final int schemaSize = schema.size();
StructType nSchema = newSchema(schema, schemaSize, dataSize);
...
}
谢谢
解决方案
这是一个品味问题。
引入局部变量允许您命名概念。有更简单的陈述。简化内部循环。在不引入新功能的情况下可能会删除通用代码。
另一方面。起名很难。如果你把它全部放在一行上,代码会更短。如果代码不依赖于太多的局部变量,可能会更容易分解代码。
final
对于当地人来说可能是最重要的,除非代码已经是一团糟。
推荐阅读
- python-2.7 - Pyspark Py4JJavaError:发生错误时和 OutOfMemoryError
- angular - 无法在 Angular 中编辑动态组件
- python-3.x - 用它们的单词索引替换字符串字符
- android - 如何在 Android 的 SQLite 数据库中存储 Bangla 字体
- python - Shadow effect does not work in QMainWindow
- javascript - 点击时停止无限的css动画?
- java - 来自子应用程序的 application.properties 文件不会覆盖主应用程序中的 application.properties 文件
- firebase - GridView 中的地图
- java - JSON-B deserializing date string into joda DateTime without altering model classes
- sql - Joining same table based on whether employees were at location or not