規約について


id:itoasukaさんのエントリ(理系でお願いします - イトウ アスカ blog)を見て。
その通りだなと、ただ規約(ルール)というくくりが難しい。


この手の話をすると、各々が規約(ルール)の意味のレベルが違うため、意見がかみ合わない事が多々ある。


ただ経験上、コーティング規約でいえることは、頑張りすぎたコーディング規約は、「最終的に無いに等しい」、悪くすると「百害あって一利なし」の状態に陥るということです。


あるプロジェクトで、以下のような規約がありました。

  • 1メソッドは、50行程度とする。
  • 1行は、100文字程度とする。


正確では無いかもしれないが、こんな規約だったと思う。
後に、何らかの不都合があったみたいで「1メソッドは、100行程度とする」に変更されていた。


しかし、ある開発者のソースを見て愕然とした記憶がある。
その担当者は、規約を守るために、1つのメソッドから10幾つものprivateメソッドを呼び出していた。
まあ、それ自体は、ありえないことではないので、まだ良しと成るのだが、その10幾つものprivateメソッドは、1つ1つのメソッドで簡潔しておらず、元々1つのメソッドを100行単位で分割しただけのメソッドだった … (--;)
*本人は一生懸命、規約を守るために、ローカル変数をインスタンス変数にして、メソッドを分割したのがうかがえる。


これは多分、「そもそも、何故1メソッドが、100行程度にするべきか」がまったく開発者には伝わっておらず、規約ありきで開発させている最たる例なのだと思う。
*この規約は、何故か(?)現在でも受け継がれているが無視されているみたい(もはや規約の意味無し)。


このような規約を作成するぐらいであれば、開発経験の少ない担当のソースレビューを細かくやってあげた方が、よっぽど本人のためだし、プロジェクトのためにもなる。


しかし、何故か設計書のレビュー数は多いが、ソースレビューはマチマチというのが現状…(TT)

*実装甘く見んのも大概にせーやゴラぁ〜( ̄O ̄)凸的…気分になっちゃうのでした。。。