[PHP] 初めての受託Web開発での失敗と教訓 後編

9ヶ月前に書いた記事の続き。

反省点

環境エラー

  • ローカル環境(windows)で作って、本番環境(linux)に移行した段階でエラー多発。
  • ブックマークが使えなくなって作業効率低下。
  • FTPアップロード忘れが多発して作業効率低下。
  • PHP.iniの設定が違うので挙動が変わり、作業効率低下。
     → 早い段階から本番環境で開発してればよかった。

ファイル命名規則の失敗

当初、confirm_form のように動詞_名詞方式でやっていたが、これがいけなかった。
ファイルを探すのにう~んと考える →作業効率低下・ストレス増大
form_confirmのように名詞_動詞方式でやっていれば、先頭の名詞をカテゴリラベル代わりに使えた。
→ phpのファイル名は、名詞_動詞.php 方式がよい。

ページ遷移図、ファイルリストの不備

実装を最優先にして、整理業務を怠ったために、どこに何があるか収集がつかなくなった。
そのため、後半に能率が大幅ダウン。
→ 最低限のドキュメントを、開発初期に作るべき。

いろんなファイルにコードを分散

いろんなphpファイルに、コードを書き散らして収集つかなくなった。
最初から、全ての関数をプロジェクト共通ファイルにまとめて書けばよかった。
個々のPHPファイルからは、それらの関数を呼び出すだけにするべき。
→関数を作る時点では、その関数を後で使いまわすかどうかは予測できない。
最初からライブラリに書くべき。

配列の使い方のルール

・二次元配列を多用して自爆
→ 二次元配列はなるべく使わないこと。 foreachループがネストして苦労する。

・配列の添字に0始まりと1始まりといろいろあって統一してなかった。
→ 配列の添え字は0始まりに統一すること。

関数の仕様を途中で変更して自爆

関数の戻り値を1次元配列→2次元配列に変更したら、これが原因で大量のエラー発生。
元の関数は保持したまま、新しい別の関数を作って徐々に移行すればよかった。

セッション変数はデフォルトでダンプすべき

良かった点

  • ieHTTPHeaderが超便利
  • クッキーの値を確認するのに役立った。
  • PHPはオンラインマニュアルが充実している
  • 定数を使ってページ先頭で遷移先を記述。define("NEXT","form.php"); これで可読性向上した。
カテゴリ: