コーディングのルール

僕は今の会社でコーディング規約や、プログラムの作成方法を作成し、みんなに守ってもらうという仕事をしてきた。決めるのはそんなに難しくないが守ってもらうのが非常に大変。守るのが大変な理由は

  • 新人社員の教育が不十分
  • 中途社員の教育が不十分
  • 開発を外注している
  • 規約がすべてのケースを想定できていない

新人の教育について

新人の教育は、中小企業では結構難しいのかもしれない。そもそもコードに対してある程度ポリシーが芽生えるのは、人のコードを修正した時ではないかと思う。しかし、新人教育の中ではそんなことは取り入れられていない。だからコードの可読性の重要さを理解してもらうのが難しい。また、コーディングのレベルそのものもやはり動作することが先にたっていて、可読性まで気にする余裕がないのも解決が難しい。まずはできることが重要だけど、可読性や美しい設計についても実例を見せて説明していくことが大切じゃないかと思う。

中途社員について

これはとても厄介。会社としては即戦力として雇うわけなので教育ができない。この時点でかなり終わってます。本当にできる人ならいいが、中途半端が一番よろしくない。今のところこいつをどうすればよいかは全然思いつかない。

開発を外注している

そもそもシステム開発会社がシステムの設計や製造を外注していること自体どうかしていると思う。システム開発会社がシステムを作らなくてどうするわけですか・・・もちろん現在の状況ではまったくすべて内製で行くというのは現実的ではないのかもしれないけれど。僕が今までかかわってきた中ではやはり、保守を前提にしていないコードは品質や可読性が低いものが多い。すでにコーディング規約が・・とかいうレベルではない。プログラミングや設計というのは経営判断そのものなのに、それを外の会社に丸投げしてしまうということは経営自体を外注するに等しいのではないかと。
外注に対してコーディングルールを守らせるにはレビューとドキュメントの提供をがんばる。これくらいしか思いつかないが、レビューは役に立つ。手間がかかる分効果は大きい。

規約がすべてのケースを想定できていない

規約やルールが現在のスタイルとずれていくのは仕方ないことだと思う。常にメンテナンスをできる体制を作ること。