特定の Java プロジェクトのカスタム構文を定義する方法はありますか?
たとえば、私ができるようにしたいことの 1 つは、基本的に標準のゲッターとセッターの簡略構文を作成することです (.NET の "{ get; set; }" に似ています)。私が探している限り、DSL を書くことでこれを達成できるかもしれないということしか知りませんでした。
このような追加の構文要素を定義する方法はありますか?
他の人は、構文を変更することは実際には不可能であることを確立しているので、Project Lombokに興味があるかもしれません。
入門ガイドから:
private boolean employed = true;
private String name;
public boolean isEmployed() {
return employed;
}
public void setEmployed(final boolean employed) {
this.employed = employed;
}
protected void setName(final String name) {
this.name = name;
}
になる
@Getter @Setter private boolean employed = true;
@Setter(AccessLevel.PROTECTED) private String name;
いいえ、少なくとも外部ツールを使用しないとできません。
そして、それは良い考えではありません。将来、会社/プロジェクトに参加する他の SW 開発者は、ソースを標準 Java として読み取ることができるはずです。
これを行う組み込みの方法はありません。
Java コンパイラは、Java 言語仕様で定義されている構文を使用して Java コードを解析します。
非 Java 構文を使用して Java コンパイラでコンパイル可能なプログラムを作成する場合は、構文を有効な Java に変換できるツールを使用または作成する必要があります (このタイプの変換は、一般的に言及されているカテゴリに分類されます)。を「前処理」と呼ぶ)。
プリプロセッサを作成すると、維持および文書化する必要があるもののリストにもう 1 つ追加されることに注意してください。これは、大規模なプロジェクトやチーム プロジェクトでは特に重要です。