[Tomoyo-dev 422] Re: [2.X] コードクリーンナップヘルプ

Zurück zum Archiv-Index

Kentaro Takeda k.tak****@gmail*****
2007年 8月 1日 (水) 11:50:34 JST


たけだです。

協力の意思表示、ありがとうございます。m(_ _)m

作業をしていただくときにまた説明しますが、
最近のカーネルに付属しているscripts/checkpatch.plにパッチを食わせれば、
スタイルのチェックを行ってくれます。
これの出力をベースにクリーンアップ作業を行っていただければと思います。

たとえばこんな感じの出力が得られます。
-----
[root @ etch]# checkpatch.pl patches/tomoyo-mount.diff
WARNING: externs should be avoided in .c files
#24: FILE: security/tomoyo/mount.c:15:
+extern const char *ccs_log_level;

ERROR: do not initialise statics to 0 or NULL
#54: FILE: security/tomoyo/mount.c:45:
+static struct mount_entry *mount_list = NULL;
-----
ある程度機会的にスタイルを修正できます。

実際にTOMOYOのコードのスタイルをチェックして修正してみるとわかるのですが、
> - 行の長さは80カラム以内
を達成するのが一番難しいです。インデントが深いのが主な原因ですので、
ロジックの変更、関数の切り出しなどが必要になります。

また、関数の切り出しという意味では、
> - 関数の長さは80x24で2画面以内がのぞましい
> - case文があって長くなるのはかまわない
> - ローカル変数は5から10個程度がのぞましい
これらは現在のcheckpatch.plでは検出されませんし、
たけだがすでにやったファイルでもこれらは修正しきれていません orz
#この辺がけっこうタイヘンです。

また、たけだがやってきたクリーンアップ後のテストは地道です。
・ccstools/kernel_test以下のツールで学習とアクセス制御が動くことを確認
・修正箇所が影響を与えうるロジックを走してみる
・/proc/slabinfoを見て単調増加してないかチェック

クリーンアップやテスト方法でいいアイディアをお持ちの方が
いればぜひお知らせください。m(_ _)m




tomoyo-dev メーリングリストの案内
Zurück zum Archiv-Index