2007年05月10日

[Technology] コーディング規約とへっぽこプログラマと、時々、バグ

この道はいつか来た道... REBOOTED: 抽象論と具象論

最近のJavaなでかいエンタプライズ系のプロジェクトだと、へっぽこプログラマの割合が多いので、プログラマの自由を縛る方向で、コーディング規約をつくり、その結果としてバグを作りこまないように、という流れが多いが、それって、結局現場では、中途半端な理解の下でのこぴぺが氾濫するだけなんだよね。

引用元の引用元の引用元の「プロジェクトを破壊するプログラマ」というエントリの主張のポイントは、

意味が分からない規約に従える程盲従的ではないし、
納得がいかなければ頑固として従わない。

という点だと思われます。

実は僕も以前にとあるプロジェクトのコーディング規約策定に関わったことがあって、「接頭辞」やら「goto文」やら果ては「switch文の後のcase文はインデントするか否か」みたいなとこまで議論になりました。

昔のエントリ

結果、「どうでもいいじゃん」な部分まで規約に盛り込まれて、正直「やってられるか」な気分になったこともあります。

という経験を踏まえた上で、元ネタの主張の可否を問うならば、「否」です。
一旦その規約が決まってプロジェクトが動き出した以上は、メンバはその規約に従わなければなりません。

でなければ、
・規約の意味(意図、策定理由)がわからないならわかるまで聞く。
・意味はわかったが、それに納得できないなら、規約を変えるよう提案をする。
 (ただし、提案する以上は、他のメンバを納得させられるだけの理由を提示する必要がある)
・それでも提案が通らなかったら、規約に従う。
というのが道理でしょう。

それをせずに「気に入らないから俺は俺のやり方でやる」というのはプロジェクト全体から見れば自分勝手で無責任な態度であって、そんな人は(たとえどれだけ凄いスキルを持っていようと)プロジェクトから外れた方がお互いのためです。

それはそれとして、「へっぽこプログラマ」集団でも一定のレベル以上のプログラムを作れるようにするにはどうすればいいか?(どういうコーディング規約が適切か、も含むけどそれだけじゃなく)、はプロジェクト管理の大きなテーマでしょうな。

僕はそこまでの経験はないので専門家(money師匠とか)のご意見をうかがいたいところですが。

Posted by hide at 2007年05月10日 23:28 | TrackBack
Comments
Post a comment









Remember personal info?