在编程时,我经常会遇到以下场景(在代码中描述)。我在要使用的块中定义变量。
int maximumLengthOfToken = 0;
while(fileScanner.hasNextLine())
{
String line; // definition
line = fileScanner.nextLine();
Scanner lineScanner; // definition
lineScanner = new Scanner(line);
String token = lineScanner.next(); // definition and assignment
if(stringToMatch.endsWith(token))
{
if(token.length() >= maximumLengthOfToken )
{
maximumLengthOfToken = token.length();
builder.append(line);
builder.append("\n\n\n");
}
}
}
fileScanner.close();
然而,有时,为了“整洁”,也因为我来自 C 背景,我喜欢在顶部定义所有变量,无论它们在哪里使用。所以我做了以下 -
int maximumLengthOfToken = 0;
String line; // definition
Scanner lineScanner; // definition
String token; // definition
while(fileScanner.hasNextLine())
{
line = fileScanner.nextLine();
lineScanner = new Scanner(line);
token = lineScanner.next(); // definition
if(stringToMatch.endsWith(token))
{
if(token.length() >= maximumLengthOfToken )
{
maximumLengthOfToken = token.length();
builder.append(line);
builder.append("\n\n\n");
}
}
}
fileScanner.close();
“啊!它看起来很整洁”,我想。
但是,这对代码的性能有什么影响吗?第一种风格会导致更快的代码执行还是第二种风格?另外,在这种情况下,约定是什么?我相信这是第一种风格。