2

C++ プリプロセッサ ディレクティブをインデントするために、誰もが何を使用しますか? Astyle と Gnu-Ident ではこれができないようです!

このスレッドでの James McNellis の回答 ( How do you indent preprocessor states? ) は非常に興味深いと思います。私はこのスタイルを採用してしばらく経ちましたが、既存のコードでこれを行うことができれば素晴らしいことです。

入れ子になった #IFDEFS/#ELSEIF/#ELSE で埋め尽くされた一連のクラスを維持する責任を負いました。各関数は約 800 ~ 1000 行です (読みやすさとブロックの折りたたみが非常に困難になります)。

4

2 に答える 2

0
  1. egrep -r '^ #' srcdir | perl -ne 'print "$1\n" if /^\s #\s*([^\s]+)/' | 並べ替え -u
  2. コードに存在するプリプロセッサ キーワードに基づいて、上記のコマンドは、対称ブラケットをチェックするために使用するものと同様に、単純な再帰的インデント アルゴリズムを実装します。
于 2013-04-08T18:30:49.857 に答える