Delphi のフォーマッタで無関係な変数の大文字小文字が揃えられてしまう
Delphi のフォーマッタで無関係な変数の大文字小文字が揃えられてしまう
デフォルトで下記のようになっている
「その他の単語の大文字・小文字表記」= 最初の出現どおり
下記のようなコードの場合
- interface
- uses
- System.Hash;
- type
- TFoo = class(TObject)
- private
- FHash: string;
- public
- property hash: string read FHash;
- end;
- TFooRec = record
- hash: string;
- end;
フォーマッタを実行すると
System.Hash を最初の出現とみなしてしまい
- interface
- uses
- System.Hash;
- type
- TFoo = class(TObject)
- private
- FHash: string;
- public
- property Hash: string read FHash;
- end;
- TFooRec = record
- Hash: string;
- end;
となってしまう
言語的に問題ないように見えますが、RTTIを使用している場合、大文字小文字が変更されて設計と違う結果になってしまうことがあります(TJsonSerializer を利用して、問題に遭遇しました)
フォーマッタの設定を変更すれば回避できますが、デフォルト設定がそれであるため、別環境を構築してフォーマッタを実行しただけで、書き換えられてしまうという問題を抱えたままとなります。コンパイルで問題を発見できない事も問題です。
フォーマッタの例外オプションを探しましたが見つからないため、該当部分を別ファイルへ抜き出して uses で参照することとしました
コメント