LoginSignup
4
1

More than 5 years have passed since last update.

FreeBSDのカーネルソースをいじってPHABRICATORでレビューしてもらってheadにマージしてもらったのですが、Style(9)を何度か指摘されました。

私のコーディングスタイルは、ほぼ一から開発するようなケースはなく、類似のコードをコピーするところから始めます。大昔にシーナ&ロケッツの鮎川誠さんがイベントで、ホームページでJavaScriptを使っている事を聞かれて、「良さそうなページからコピーしてる。ロックの基本はコピーです。」とか言われて、私もロックな気持ちでプログラミングしています。:)

コピーから始めるときにいろいろなコードを見る事がうまくいく手助けになることがあります。SOCのネットワークコードを作ったときにTulip互換なのでdev/deのコードをベースにしようとしてうまくできませんでした。これはdeのコードはいろいろなデバイスのサポートのために、コードの見通しが悪くなっているためです。代わりにsys/mipsにあったコードをベースにしてどうにか作る事ができました。socベースのコードはそのデバイスのみのサポートになるので、比較的見通しが良いコードが多いです。

レビューの話に戻すと、PHABRICATORのツールのarcでもLINTは実行しているようなのですが、それ以上の項目がStyleでは指定されています。具体的に指摘された点は以下の通りです。

  • defineの後の空白はスペースでなくタブで
  • if,forの後には空白を入れる
  • 演算子の前後にも空白を入れる
  • //を使わない
  • 変数の宣言と初期化は別にする
  • 変数定義が無い関数は{の後一行開ける

既存コードにも違反しているものあって、それをコピーして指摘されるとちょっと凹みます。とはいえ、FreeBSDのコードの奇麗さにも貢献している事だと思うので、ちゃんと守っていきたいです。

私の場合、ロシアの方々が指摘してくれたのですが、manを見るよりも指摘された方が理解が早くありがたく思います。

Style対応のlintツールみたいなものがあったら良いのにと思ったりします。

ではでは。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1