PHP MySQL ver5~


質問文が長くなりましたので http://d.hatena.ne.jp/esecua/20090318 をご覧下さい。

回答の条件
  • 1人5回まで
  • 登録:2009/03/18 06:32:18
  • 終了:2009/03/25 06:35:02

回答(2件)

id:shiroxcom No.1

しろっくす回答回数140ベストアンサー獲得回数52009/03/18 06:55:23

ポイント35pt
class Database{
.....

function userdata($id,$permission){
if(!ctype_......値の確認
$res = $db->Execute("select * from `data` where `user`=? and `per`=?", array($id,$per));
if($res->RecordCount() == 0){ return false; }
return $res->FetchRow();
}

function .....

上記の部分は下記のような設計であるべきだと思います。

class Database{
.....

$sql = "select * from `data` where `user`=? and `per`=?", array($id,$per);

function userdata($id,$permission,$sql){
    if(!ctype_......値の確認
        $res = $db->Execute($sql);
        if($res->RecordCount() == 0){ return false; }
    return $res->FetchRow();
}

function .....

DRY (Do not repeat yourself.)です。

これだけなら修正は簡単だと思いますよ。

class Database2 というのを作ってテストしていけば良いと思います。

id:kn1967 No.2

kn1967回答回数2915ベストアンサー獲得回数3012009/03/18 07:12:48

ポイント35pt

(1)

>プログラマーは私一人しかいませんので

>私がコードを熟知していれば問題ありません。


信頼に応えられるようにしておく必要があるのではないでしょうか。

病気や怪我はいつ起こるか判りませんよね。

あなた一人だけの会社であったとしても

整理してあれば、クライアントが受ける被害は少なくて済むでしょうし

復帰した際も、また受け入れてもらえる事でしょう。


そのためには、紙による資料も

しっかり整えてあるかどうか確認しておくと良いでしょう。

処理フロー、スクリプトリスト、スクリプトの概要などなど・・・

(詳細設計書までは作ってないかもしれませんが

せめて外部設計資料くらいは欲しいところですね)


(2)

>セキュリティや負荷など


昨今のパソコンの能力向上は目を見張るものがありますので

パフォーマンスが多少悪くても整理整頓されたコードのほうが

長い目で見れば有効な手段となりえます。


整理整頓されたなかで、どうしてもパフォーマンスを

重視しなければならない部分が出てきても

その部分だけをチューニングするのは比較的簡単な話であって

仮にその部分だけコーディングがイレギュラーになったとしても

それは仕方がないという話もできますよね。

ところが、全体的に整理がいまいちできてないとなると・・・

チューニングどころの話ではなくなります。

(セキュリティに関しても同様ですね)


同じようなコードが多々あるのならば

数種類のパターンに分類して、例えば、

function userdata($id,$permission,$sqlno){

といった具合に$sqlnoでSQLを選択できるようにしておくなど

工夫の余地は沢山あると思いますし、このような方法であれば

それほど多くの手間もかからないと思います。

(あまりにもコードが混乱しているようであれば

整理も兼ねて1から作り直したほうが早い場合もありますね)


(3)

>既存のフレームワークを仕えなどはNG


フレームワーク、すなわち「作業の枠組み」が揃っていれば

今回のような質問にもならない訳ですよね。

自分で枠組みを作れないなら既存のものを使って枠組みについて学ぶ

もしくは、枠組みをそのまま使うのは必然ではないでしょうか?


当初から長期的目線で開発とスキルアップを続けてきたのであれば

問題無いと思いますけど、失礼ながら数年前の質問投稿から

人的(上記1)、技術的(上記2)両面からみて、それほど

スキルアップしているようには見えませんので

嫌がらずに一度はフレームワークをしっかり学習してみてください。

id:esecua

回答有り難うございます。

>人的(上記1)からみて、それほどスキルアップしているようには見えませんので

wwwサンキューですw

素直に人の意見に耳を傾け人として成長したいと思います。

2009/03/18 09:36:19

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません