2015.9.27
0からはじめるPHP#42【アジャイルで作る掲示板#3-バグを少なくするために-】
さて、掲示板制作日記ですが、前々から申し上げている通り
技術的な話に関してはあまり話すことはありません。
以前描いたこの雑な設計図があれば、今までの話でたぶん作れるんじゃないかなぁと。
現時点で既に読めない字があって設計図として機能してないんですけど
今回は
バグを防止するコーディングを意識するという話をしようかと思います。
プログラミングで何が一番難しいかといと
バグフィクスです。
こればっかりは勉強しようがありません。そして、どんなに頑張って設計したとしても、絶対にテスト時にバグは出てきます。
大体はしょうもないバグなんですが、それを見つけるのに1時間とか平気で使います。プログラミングやってて一番嫌な時間です。
バグらないプログラミングなんて不可能ですが、バグの発生は工夫次第である程度抑えることができます。
ということで
データベースの設計 テーブルやカラムの命名規則というページを見てみます。
具体的な内容は上のリンクから見てもらえれば分かると思うのですが、ルールをざっくりまとめると・・・・・・
・すべての名前はキャメルノーテーションにすべき(全部小文字)<
・アンダースコアやスペースは使わない(ただし接頭語等はOK)
・データベースの予約語や略語等は使わない
・複数形を使わない
・単なる"id"というカラムを使わない
・外部キーにはFK_という接頭語をつける
・ブーリアン型のカラム名はisから始める
・日付のカラムはDateをキャメルケースで記載する(例:○→createdDate ?→date_created)
データベースに設定できる名前は自由であるが故に、色々とテキトーに設定しがちです。
ただ、このような工夫をすることでバグやコーディングの負担を減らすことができます。
太字は僕が実際に悪い名前をつけた箇所です。
理由については上のリンクで解説されてるんですが、まぁ要するに
視覚的にわかりやすくするためのルールです。
こういう名前周りのバグも結構多かったりするんですよ。大文字か小文字が違うだけでもバグの発生源ですからね。
こういったバグはコードではなくデータベースの方を見ないと分からないものなので、特に厄介なバグだと思います。
データベースの設計時点でこのようなことに気をつけておくことで、コーディングしやすくなると期待されます。多少ね。
ということで、次はこれにダミーデータを入れて表示することからはじめましょう。