プログラミング中に、次のシナリオ (コードで説明) に出くわすことがよくあります。ブロック内で使用する変数を定義します。
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();
「あっ! すっきりしているな」と思います。
しかし、これはコードのパフォーマンスに影響を与えますか? 最初のスタイルはコードの実行を高速化しますか、それとも 2 番目のスタイルを使用しますか? また、そのような場合の規則は何ですか?それが最初のスタイルだと思います。