Java 文字列として記述された SQL ステートメントを含む Java コードをいくつか持っています (OR/M のフレームワークはやめてください。埋め込み SQL はそれが何であるかです - 私の決定ではありません)。
メンテナンスを容易にするために、SQL ステートメントを意味的に分割して、数行のコードで連結された複数の文字列にしました。したがって、次のような代わりに:
String query = "SELECT FOO, BAR, BAZ FROM ABC WHERE BAR > 4";
私は次のようなものを持っています:
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
このスタイルにより、特に大規模なクエリの場合、SQL の読み取りと保守がはるかに簡単になります (IMHO)。たとえば、エディターを「上書き」モードにして、テキストをその場で簡単に変更できます。
この問題は、SQL の特定の例を超えて一般化されることに注意してください。垂直方向の書式設定、特に表形式の構造で記述されたコードは、きれいなプリンターによって破壊されやすくなります。
現在、一部のプロジェクト メンバーは Eclipse エディターを使用しており、ソース ファイル全体をフォーマットするとセマンティック フォーマットが破壊されることがよくあります。
書式設定に関してソースの特定の行を無視するように Eclipse に指示する方法はありますか?
Eclipse フォーマッターを切り替える特別なコメントのようなものを探しています。理想的には、そのようなコメントは、私たちが選択したものになるように構成可能であり、他のフォーマッターもそれを尊重するようにプログラムできます。
// STOP-ECLIPSE-FORMATTING
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
// START-ECLIPSE-FORMATTING
明らかに、1 つの「解決策」は、チーム メンバーにJalopyやJIndentなどの外部フォーマッタを標準化させることですが、それはこの質問の目的ではありません (また、このプロジェクトに関する私の決定ではありません):アドホック ベースで Eclipse フォーマッターを回避します。
理想的には、ソリューションによって、Eclipseを使用するチーム メンバーが IDE の再構成を行う必要なく、Eclipse フォーマッターの指示を挿入できるようになります(場合によっては、フォーマッターに依存しないコマンド コメントを選択することを除きます: STOP-ECLIPSE-FORMATTING
→ STOP-FORMATTING
)。