ラベル コーディング規約 の投稿を表示しています。 すべての投稿を表示
ラベル コーディング規約 の投稿を表示しています。 すべての投稿を表示

2020年4月5日日曜日

コーディング規約の重要性

こんにちは。

今日は、コーディング規約の重要性について書いてみようと思います。

結論から言うと以下になります。
  • コーディング規約を無視したソースコードは読み辛い
  • フレームワークを使う場合はフレームワークのコーディング規約を使う
  • 独自コーディング規約よりも公式のコーディング規約を使おう
個人でWebサービスやソフトウェアを作っている時は、コーディング規約なんて気にしないと思います。

でも、チームで開発する時は、コーディング規約はとても重要です。

この辺を、私の経験を踏まえながら書いていきますね。

コーディング規約を無視したソースコードは読み辛い

チームで開発をしていると、コードレビューをします。

私も何度もチームメンバーのコードレビューをしてきました。

でも、コーディング規約を無視して書かれたソースコードは本当に読み辛いです。

コーディング規約を無視してコーディングする方は、大体がソースコードは動けばいい、くらいにしか考えていない方が多いです。

でも、考えてください。

システムは、一度作ってしまえは終わりと言う時代は昔の話です。

今は、システムは、育てていく時代です。

つまり、自分が書いたソースコードは、いつかは修正されるのです。

読み辛いソースコードを書いていると、修正をする方がとても苦労します。

苦労するだけじゃなくて、修正に時間がかかってしまい、修正する方へ大きなストレスを与えるのです。

私も、プログラマとして働き出したばかりの頃は、コーディング規約を重視していませんでした。

でも、時間がたった後で、自分のソースコードを修正する時、自分ソースコードなのに読み辛く、修正に多くの時間が必要でした。

自分の作ったソースコードに対して、「誰だこんなソースコードを書いたのは」と突っ込んでいたくらいです。

なので、チームを持つようになってからは、コーディング規約に沿ってないソースコードは、時間がなくても書き直してもらうようにしています。

若いプログラマの中には、不平・不満を言う方もいます。

そういうプログラマには、コーディング規約の重要性と、今のシステムを育てて、今後もっといいシステムにしたい意思を伝えるようにしています。

フレームワークを使う場合はフレームワークのコーディング規約を使う

仕事としてシステム開発をしていると、フレームワークをよく使います。

最近では、いちからスクラッチで開発することはほぼありません。

フルスクラッチで開発する時も、laravelやreactなどのフレームワークを使用します。

その場合は、laravelやreactのコーディング規約に沿ってコーディングを行うことで、読みやすいソースコードになります。

例えば、Wordpressのプラグイン開発をする場合を考えてみましょう。

Wordpressのプラグインを開発する場合、Wordpressで公開されている関数をよく使います。

そんな時、Wordpressのコーディング規約を知っていると、公開されている関数や変数を探しやすくなります。

また、他のプラグインと連携するのも容易になります。

これが、全く違うコーディング規約を使ったらどうなるでしょうか。

まず、Wordpressで公開されている関数を見つけるのに時間がかかってしまいます。

もしかすると、同じような処理をする関数を1から作ることになるかもしれません。

でも、自作した関数は、セキュリティ的に大丈夫か、想定外のデータを取得した場合の処理は適切かなど、検討しなければいけないことが増えてしまいます。

他のプラグインとの連携でも同じことが考えられます。

Wordpressのコーディング規約に沿って開発するだけで、少しでも手間が省けるのです。

以下にワードプレースのコーディング規約へのリンクを貼っておきますね。

Wordpressコーディング規約 (外部リンク)

独自コーディング規約よりも公式のコーディング規約を使おう

大手のシステム企業では、独自のコーディング規約を設けている所もあります。

でも、これからコーディング規約を作るのであれば、公式のコーディング規約を使いましょう。

何故かというと、コーディング規約を作ることが、あなたの企業の業務ではないからです。

そこに、時間をかけるくらいなら、システム開発をすることに注力した方が充分に利益につながります。

何度も同じコーディング規約を使用していると、少しずつ足りないなと思う点が見えてきます。

足りない点を既存のコーディング規約に追加していけばいいだけなのです。

私が勤めている会社でも、数年前に独自のコーディング規約を作ろうとした時期がありました。

いろんなコーディング規約のいいとこ取りをしようと考えていたのですが、結局、公式のコーディング規約を使用することになりました。

理由は簡単で、いろんなコーディング規約を読んでまとめる充分な時間が取れないというのが理由でした。

また、公式のコーディング規約には、基本的なことは定義されています。

基本的な規約に沿ってソースコードをコーディングするだけでも、読みやすいソースコードになりますし、システム全体の統一性も保たれます。

以下に、私が勤める会社で使用しているコーディング規約のリンクを貼っておきますね。

PHP Standards Recommendations(外部リンク)

まとめ

コーディング規約は、チームで開発する時には、とても重要です。

でも、ベテランのプログラマでも、コーディング規約を軽視している方が結構いるように思います。

ただ、自分が書いたソースコードを、後々、誰かが読んで、もっといいソースコードに書き換えてくれると考えると、コーディング規約に沿ってコーディングする大切さが分かるのではないでしょうか。

では、今日はこの辺で。

おまけ

システム開発ついて書いた過去のブログを以下に紹介します。