紫だちたる雲の細くたなびきたる blog

春はあけぼの(をかし)

コーディング規約

確かに規約は重要である。共通の人が言っていた通り、誤った使い方をするとユーザーが使いづらいプログラムになってしまう。今回は共通タグの方がどう考えてもおかしかったのだが。
それに規約を守って書かれたプログラムは後から読みやすい。(規約の主目的は後者である)

それは重々承知しているのだが、今回の開発環境の規約ははっきり言って行き過ぎだと思う。規約に関連する文書を全部紙に出したら何枚いくだろう?ざっと50枚はあるに違いない。1時間以上かかってやっと精読が終わる規約なんて意味がない。はっきり言って工数の無駄。誰が見ても読みやすいプログラムを書くのが目的なのだから。
っていうか、リファクタリングなどの最近の技術書を読みあさっている僕からすると、この規約、少々内容が古い。1例を挙げると、変数の宣言はそのブロックの先頭で、というのが規約だが、それはC言語みたいな構造化言語の規約(というより文法)でしょ。JavaC++などのオブジェクト思考言語では使用個所の直前というのが主流である。
SQLでテーブルを結合する場合にJOINを使うなっていうのも古い。現在の業界標準はJOINである。JOINを使わない結合はOracleSQLServerで書き方が違う*1部分もあるし、第一、結合条件も抽出条件も同じ所に書くので直感的に解りづらい事がある。*2

*1:外部結合を指定する時の条件指定の概念が正反対である

*2:規約には根拠として読み易さが挙げてあった。確かに見た目はJOINを使わない方がすっきりしているが意味の取り易さではJOIN句に軍配があがると思う。