コーディング規約は必要か?
にゃん太郎さんの長い経験から発せられる含蓄を含んだ内容です。
コーディング規約はあんまりガチガチに決めてしまうと守るのが大変というのは、よくわかります。
やっぱり規約を作る最大の目的は、後々の可読性だと思います。
自分で書いたコードでも後になるとさっぱりわからないということがありますので、他人の書いたものはなおさらです。
そういう意味では、名前付けの規約は、統一というより、後で見てすぐ意味が想像できるものがよいということになります。
そうすると、ある程度の長さを持った名前が望ましいわけですが、逆に入力が面倒なので、なかなか守れないというところかもしれません。
これは、コードレビューの強化で対応が可能な気がします。
後は、やはり禁止事項も必要ですね。
仕事がらお客様のコードを拝見することがよくありますが、時々気分がめげることがあります。
我々のプラットフォームは、先進のオブジェクト指向開発プラットフォームという宣伝をしているわけですが、なかには、GOTO文の嵐という様なコードが未だにあります。
これは、本当に意味というかロジックを読み取るのが至難のわざです。
にゃん太郎さんもおっしゃっている様にさすがに最近の若いエンジニアは、GOTO文で書く人は少ないと思いますが、弊社のお客様はソリューションパッケージを作っている所が多いので、パッケージも10年、20年継続開発を続けているケースが多いです。
本当は、ちゃんとリファクタリングをしてほしいところですが、なかなかそういう所に労力を使うという発想にいたらず、スパゲッティーコードとなっていて、これじゃメンテも大変だろうと思います。
これじゃ宝の持ち腐れという所ですが、こういったお客様の意識(だけでなく実際に取り組む決断力)を変えるにはどうしたら良いか悩みが尽きないこの頃です。