出典: Lightrun 開発者はコードベースに変更を加える必要があります。コード ベースが明確にフォーマットされていない場合、デバッグはさらに困難になります。 コードの再フォーマットや適切なインデントなどの小さな変更は通常見落とされますが、それらは明らかにプロの開発者のコードベースと初心者のコードベースを区別するのに役立ちます。コードの書式設定とインデントを適切に維持すると、読みやすいコードを作成できます。これにより、プロジェクトでのコラボレーションが簡素化され、デバッグとコード ベースの保守の速度が向上します。コードはより読みやすく、構造化されます。コードの再フォーマットプロセスを高速化することはできますか? この記事では、IntelliJ IDEA を使用してコードを自動的に再フォーマットする簡単な方法を紹介します。この手順に必要な時間を短縮する方法と、さまざまなキーボード ショートカットを使用してコードベースの一部を再フォーマットから除外する方法についても学習します。
再フォーマットのメリット
この関数が動作するためには、書式設定やコメント コードは必要ないことに留意することが重要です。フォーマットの有無にかかわらず、どのコードもコンパイラーで完全に読み取って実行できます。一方、再フォーマットすると、マークアップがはるかに読みやすくなります。コンパイラにとって重要なのは、コードが機能すること、およびコードにエラーが含まれていないことだけであり、コードがどれほど優れているか、またはどれほど適切にインデントされているかは重要ではありません。確かに、人々が心配するのは後者です。なぜなら、そのようなコードを読まなければならないからです。プレーン テキストと同様に、見出し、段落、インデントのない形式のないコンテンツを読みたがる人はいません。必要な再フォーマット手法には次のようなものがあります。- インデント。
- スタイルと書き込み機能。
- 空きスペース。
- 大文字と名前の使用。
コードのフォーマットに関するヒント
コード全般のフォーマットに関する基本的なヒントをいくつか見てみましょう。-
コードに適切にコメントが付けられていることを確認してください。コメントを使用して意図と意味を伝えます。このコードを読んでいるのが自分だけだとしても、コードの特定のブロックの目的を思い出すことは役に立ちます。これにより、たとえば休暇後にコードベースに戻る場合の作業が容易になります。
-
同じ行のスペースにタブを使用しないでください。これにより、コードの可読性が低下します。
-
コード ブロックに TODO を追加して、将来の実装を追跡します。こうすることで、コードを再フォーマットするときに、作業が完了したという錯覚が生じなくなります。
-
構文エラーの簡単な修正としてコードの再フォーマットを使用しないでください。
-
多額の投資は避けてください。これは一部の開発者の間では一般的な方法ですが、コードが深くネストされていると読みにくくなり、一見しただけでは見つけにくいエラーが発生します。
IntelliJ IDEA でのコードの再フォーマット
IntelliJ でコードをフォーマットするさまざまな方法を検討する前に、IDE でサンプル Java プロジェクトを作成することから始めます。IntelliJ を起動すると、次のような画面が表示されます。 [次へ]をクリックして、プロジェクトの初期化セットアップを完了します。 プロジェクトのセットアップが完了したので、IntelliJ でのコードの再フォーマットを理解するのに役立つサンプル コードを追加します。これはテキサス大学の シンプルな単語カウンターです。import java.io.File;
import java.io.IOException;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
public class SimpleWordCounter {
public static void main(String[] args) {
try {
File f = new File("ciaFactBook2008.txt");
Scanner sc;
sc = new Scanner(f);
// sc.useDelimiter("[^a-zA-Z']+");
Map<String, Integer> wordCount = new TreeMap<String, Integer>();
while(sc.hasNext()) {
String word = sc.next();
if(!wordCount.containsKey(word))
wordCount.put(word, 1);
else
wordCount.put(word, wordCount.get(word) + 1);
}
// show results
for(String word : wordCount.keySet())
System.out.println(word + " " + wordCount.get(word));
System.out.println(wordCount.size());
}
catch(IOException e) {
System.out.println("Unable to read from file.");
}
}
}
コードスニペットの再フォーマット
コードスニペットをフォーマットすることから始めましょう。これを行うには、フォーマットしたいコードの部分を強調表示し、「コード」>「コードの再フォーマット」をクリックします。ご覧のとおり、コードの強調表示された部分 (この場合は 11 ~ 17 行目) が正しくフォーマットされています。コードスニペットを再フォーマットする「前」と「後」を見てみましょう。 最初の画像でお気づきかと思いますが、変数の宣言と初期化はtryと同じ行で行われています。閉じ中括弧は、elseブロックと混合されます。ただし、コードのこの部分を強調表示し、再フォーマット オプションを使用すると、より見栄えの良いコード ブロックが完成します。クラスの完全なコードは次のようになります。 選択したコード ブロックのみが再フォーマットされていることに注目してください。ファイル全体を再フォーマットする
ファイル全体を再フォーマットするには、エディタを開いてカーソルを任意の場所に置き、「コード」>「ファイルの再フォーマット」をクリックします。 ファイル全体に対して適切な再フォーマット オプションを選択するよう求められます。このアクションにより、アクティブなエディターですべてのコードが再フォーマットされます。コードは次のようになります。モジュールまたはディレクトリの再フォーマット
これを行うには、プロジェクト ツール ウィンドウでモジュールを右クリックし、 [コードの再フォーマット]を選択するだけです。 ポップアップ ウィンドウで、必要な 3 つのオプションのいずれかを選択します。-
インポートの最適化: 欠落しているインポート ステートメントを追加し、未使用のインポートを削除する場合は、このオプションを選択します。
-
エントリの再配置: コード スタイル設定で指定されたレイアウト ルールに従ってコードを再編成します。
-
コードのクリーンアップ: コードのクリーンアップを実行します。
コードを再フォーマットから除外する
ファイル全体をフォーマットするときに含めたくないコードのブロックがある場合の対処方法を見てみましょう。[ファイル] > [設定]に移動するか、キーボード ショートカット Ctrl + Alt + S を使用します。[エディター] > [コード スタイル]に移動し、 [フォーマッタ コントロール]タブの [コメント メニューでフォーマッタ マーカーを有効にする] をオンにします。エディターで行コメントを作成し、除外する領域の先頭に引用符なしで//@formatter:off と入力します。領域の最後に別の行コメントを作成し、//@formatter:on と入力します(これも引用符なし)。 上の画像では、単にコメントとフォーマット コントローラーで指定したという理由だけで、フォーマッタが 23 行目のコードを無視することがわかります。再フォーマット用のホットキーの例
- コードブロックを再フォーマットします: Ctrl + Alt + Shift + L
- ファイルの再フォーマット: Ctrl + Alt + L
- 行にコメントを追加します: Ctrl + /
- ブロックコメントを追加: Ctrl + Shift + /
GO TO FULL VERSION