2009年01月02日
コーディング規約が生産性に貢献するか
システム開発の現場において、コーディング規約が生産性にどう貢献するかという話題。shinさんの以下のエントリーに、勝手ながら補足しておきたい。
私も現場で新たに定められたコーディング規約の類は、本来は必要ないものだと思っている。
「Sunのコーディング規約」をある程度踏まえることだけしてくれれば、後はどうでもいい。(この規約はSunでは使われていないという情報を見つけたが、もっとも入手しやすいし、新しい規約と完全に相反するものではないので、有用性がないとは思えない)
規約にそったからコードが見やすいということは一切ないですねぇ。
規約をほとんど無視していてもしっかりしたコードならばおいらは気にしません。大概は表面上の規約ですからそれは後でリファクタリングでどうにでもなることが多いですけど、コードの質そのものは規約で底上げできませんから。
これは、半分ウソだと思う。
おそらくこの「しっかりしたコード」というのは、標準の規約を最低限クリアしているコードを想定しているのではないだろうか。つまり、「コードの質」に、「最低限の記法」が含まれているということだ。
実は、この最低限の規約すら知らない人がいることの方が問題である。つまり、まともなコードが書けない人ということになる。
そういうレベルのエンジニアを最低ラインまで鍛えるしかない。
最後、面白い一節があったので。
コードってのは書く人によって非常に差がでるというのを認識してないんですかねぇ。SEとかわけのわからない肩書き持ってる人。工場で出来上がる製品のように均一的になるとでも?
SEが「設計書(Excelでできている)」をPGに渡すことで、決まりきったプログラムが出来上がると思っている人は結構いたように思う。実装を「PG工程」とか、「製造」と呼んでいる現場では特に顕著だ。
しかも面白いのは、渡す設計書が同じであれば、受け取るPGが違う人でも「まったく同じものが出来上がる」と信じている人が信じられないほど多いということだ。
かつての現場で、SEとかPGとかいう区分けは、当時の同僚と「PGは『プログラムジェネレーター』の略だよね」と皮肉っていたことを思い出した・・・。
