• ベストアンサー

PHPで開発効率をあげる方法。

初めまして、ラブ・ザ・ゲームといいます。 初めて質問するのですが、独学でPHPを勉強しています。 自作のプログラムを作ったり、オブジェクト指向がなんとなくわかってきた・・・と思います。 そこで、みなさんが実践している開発効率を上げる方法を教えてください。 私は、どのプログラムでも使う基本のデータと、個々のプログラムで使用するデータを分けたいのですが、こういう方法が正しいのかが、わかりません。 多くのプログラム使う、 『No,oya,res(ツリー構造のため),名前、タイトル、コメント、日付、IP』 で、データをまとめる、サブルーチンなりクラスにします。 それを追加・変更サブルーチンや、クラスの継承で、 『No,oya,res(ツリー構造のため),名前、タイトル、コメント、日付、IP』 に、『アドレス、画像』 を付け加えたいのです。 こうすれば、バグや修正するときに、楽だと思うのですが。 この方法は、どうでしょうか? サブルーチンなのでしょうか? オブジェクト指向は、データ中心だと読んだので、こういう方法は少し地が浮きもするのですが。 クラス・オブジェクト指向でも可能なのでしょうか? また、ほかに、開発効率を挙げる方法がありましたら、お教えください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.2

効率的な開発と言うのは多方面から検討する必要があります。 そして、古今東西の開発者がずっと頭を痛めていることでも あります。 早く作れる→開発ステップ数を少なくする→ライブラリを準備する という手法が最も一般的でしょう。この場合、ライブラリが 如何に汎用的であるかが問題です。しかし、汎用的であれば あるほど、ライブラリとしての充実度は小さくなるのも事実 です。では、ある条件を想定してライブラリを作るか。この 場合は、当たれば大きいが、その条件が変わってしまえばゴ ミとなり、何のための効率化か分かりません。非効率化と言 えます。 今度は別の面を見てみましょう。それはエラーの減少です。 早く出来てもエラーが多いのでは話になりません、実は汎用 化はエラー招きやすいのです。つまり、想定する条件が多す ぎて考慮抜けによるバグが潜在しやすいのです。その結果、 工数を掛けて直すと、そのライブラリを使っている他のプロ グラムに影響を与えて、泥沼化することが多いですね。 よく使われるライブラリ程、効率化を妨げる例は枚挙に暇が ありません。 結局、長いソフトウェアの歴史の中で唯一革命と言っても差 し支えない技術がオブジェクト指向です。ハードウェアの革 命は沢山ありますが、ソフトウェアは革命と言われるものが ないですね。このオブジェクト指向の基本的な概念を忠実に 守って開発することが効率的と言えるように思えます。 そして、世の中の姿をクラス化出来れば、それは汎用的なラ イブラリと言えましょう。まあ、世の中がかなり早く変化す るのでライブラリとしての寿命も怪しいですが。 まだまだ、テストが簡単になることとか、色々な観点があり ますが、もう草臥れたのでお終いです。

noname#33452
質問者

お礼

>実は汎用化はエラー招きやすいのです。 は、分かる気がします。 定番の処理なら分かるのですが、少し特殊だけどたまに使うものだと、「こんなの予想してなかった。」というのが、一度ありました。 しかも、新しいパターンで修正すると、前のパターンにあわなくなってしまうので、結局、統一する事は出来ませんでした。 やはり、デザインパターンや基本が大事という事ですか。 ありがとうございます。

その他の回答 (1)

noname#39970
noname#39970
回答No.1

機能群や関係のようなものを表した設計図のようなものを作り整理したらどうだろう。 どれでも使うようなものは core library として纏める ライブラリとは要するにサブルーチンの塊 どれでも使うようなデータは master DB として纏める マスターって言うくらいだからそのデータが基準

noname#33452
質問者

お礼

データ自体も分けてしまうという事ですか。 データーベースを考えると、テーブルでまとめる事を考えてしまうと。 ライブラリーは実践しています。 すぐに忘れてしまう質なので、書き込みや定番の処理は、すでに分けてあります。 ありがとうございます。

関連するQ&A