のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,914人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 84

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    601 : nobodyさん - 2009/05/26(火) 19:30:24 ID:??? (+51,+26,-12)
    >>595
    そこまで速度を求めるならmoduleにした方が良いと思う
    602 : nobodyさん - 2009/05/26(火) 20:56:23 ID:UQeZnrko (-28,+1,-42)
    moduleとは標準関数やDLLみたいな物のことでしょうか。 無料サーバーでも導入可能ですか。
    PHPを高速化させる部品があるみたいですがこれは導入出来ないと思いました。
    603 : nobodyさん - 2009/05/26(火) 21:03:05 ID:??? (+57,+29,-18)
    無料サーバーという時点で高速化なんて無理だよ。
    ただでさえ他ユーザーとリソースの食い合いするんだから。
    604 : nobodyさん - 2009/05/26(火) 21:28:08 ID:??? (-1,-30,-58)
    >>599
    |/usr/bin/php -q /example/example.php >& /dev/null
    ./Maildir/
    とかやって example.php でなんとかする
    605 : nobodyさん - 2009/05/27(水) 00:14:56 ID:??? (+81,+30,-152)
    >582
    そういう時は、「完成品」を見るのは微妙。
    自分のコードを、どうやれば「完成品」に近づけられるのかが分からないからな。
    「完成品」のどこがどういいのかも、実際に書き換えたりメンテしたりしないと分からない事が多い。

    指導するにしても、おまいの現時点でのレベルが分からんから他人にはどうしようもないしな。
    上手い人に自分のコードを渡して、考えている事を聞かせてもらいながら目の前で「美しく」書き換えてもらうのが一番分かりやすい。
    …んだが、まあ難しい事が多いしなぁ。
    606 : nobodyさん - 2009/05/27(水) 00:31:02 ID:Cc/G0jS5 (+64,+29,-21)
    あの他人のコードを改良して自分の物にするのはアウトですか?
    607 : nobodyさん - 2009/05/27(水) 00:35:06 ID:??? (+43,+25,+0)
    うん
    608 : 605 - 2009/05/27(水) 00:55:02 ID:??? (+89,+29,-79)
    >606
    できりゃ構わないけどな
    MVC構造のフレームワーク使ってるのに何故かテンプレートにロジックが書いてある、とか、そういう事になるのがオチだと思う
    使いまわす価値のあるコード作法ってだいたいデザインパターンという形で既に体系化されてるから、ある程度のレベル以上の奴はそっちを座学した方が早いしな
    609 : nobodyさん - 2009/05/27(水) 01:07:23 ID:??? (+26,+30,-264)
    >>582
    きれいなコードを書くために心がけること

    ・関数名は分かりやすい名前を付ける。イミフな省略はしない。多少長くなってもキニシナイ。

    ・同様に変数名も分かりやすい名前を付ける。

    ・空行を多く入れてみる。
    藤原博文さんの本だったかな?
    フォントを小さく(5ptとか)して見て、コードが黒々してたら、たいてい読みづらい、って書かれてた気がする。

    ・一つの関数内のコードをダラダラと書かない。意味の単位で小分けする。
    理想は、コメントや空行を含めても、スクロールせずに一つの関数のコードがみえること。最悪100行以内に押さえる。

    ・同じ処理の塊をいろんな箇所に書かない。極力、関数としてまとめる。
    まとめすぎて、かえって分かりづらくなるかもしれないが、最初は気にせずガンガンまとめてしまう。そのうち常識の範囲内がどの程度かわかるようになる...はず

    ・フラグの多様は控える。気がつきゃ万国博覧会になっちゃうよ。

    ・トリッキーなことはしない。
    有名どころでは、ループ抜けるのに例外使うとか
    いずれは、そんなトッリキーな手段に頼らざるを得ないといけないかもしれないが、始めは完全禁止の気持ちで。



    関数分けしていくと、呼び出しが深くなって遅くなるとか言われるかもしれないけど、そんなところがボトルネックになるのはまずないから、キニシナイ。
    611 : nobodyさん - 2009/05/27(水) 01:39:36 ID:??? (+51,+29,-5)
    >>610
    ルールというような縛りではなく、ただの心がけ。

    612 : nobodyさん - 2009/05/27(水) 02:08:35 ID:Cc/G0jS5 (+37,+27,-2)
    >>608
    丁寧な回答ありがとうございました
    614 : nobodyさん - 2009/05/27(水) 02:41:03 ID:??? (+69,+29,+0)
    >609
    ・変数への再代入の禁止
     原則、ある変数には一度しか値を代入しない。次に代入する時はケチケチ使い回さず新しい変数を用意する
     配列の合計を求める時など、何かをまとめる時だけは例外だけど
    ・多重ネストの回避
     ifのネストが深くなったら、if内の処理をごっそりそのまま関数に切り出す事をまず考える
     foreach、switchなども含め、どんな複雑な処理であっても、関数内のネストを一重だけにする事も可能
     特にswitchは、その部分を単独の関数として切り出すことを真っ先に考えるべき
    ・グローバル変数の禁止
     まずは、使う変数は全て関数の引数にする
     すると、同じ引数を取る関数群がいくつか見えてくる。これが、どこをクラス化するかを判断する一番安全な方法
    ・手続き的にではなく、宣言的に書く
     「Aに処理Xを加えて変数Bに、それに処理Yをして変数Cに」という思考を捨てる
     「CはBにYをしたもの」「BはAにXをしたもの」という順序で、つまり定義を記述する感じでプログラムを書く
     一時変数を同名の関数に置き換えていく感じで、一時変数を削っていくのが分かりやすい手順

    >613
    ローマ字より英単語のほうが読みやすいだろjk
    まあ、そういうレベルじゃなく、$variableでも命名としては最低の部類に入るけどな
    615 : nobodyさん - 2009/05/27(水) 02:41:42 ID:??? (+57,+29,-4)
    マニュアル,入門書,良いオープンソースなどを見て学ぶ柔軟性が必要かと
    617 : nobodyさん - 2009/05/27(水) 04:08:53 ID:??? (+57,+29,-15)
    一か月ぐらい前に書いたコード読み直してみると良いよ。
    絶対悪態付きたくなるから、何が問題か分かる。
    618 : nobodyさん - 2009/05/27(水) 05:43:01 ID:??? (+12,-30,-102)
    >>614
    ・手続き的にではなく、宣言的に書く
     「Aに処理Xを加えて変数Bに、それに処理Yをして変数Cに」という思考を捨てる
     「CはBにYをしたもの」「BはAにXをしたもの」という順序で、つまり定義を記述する感じでプログラムを書く
     一時変数を同名の関数に置き換えていく感じで、一時変数を削っていくのが分かりやすい手順


    $B=X($A);
    $C=Y($B);
    は分かるが、「CはBにYをしたもの」「BはAにXをしたもの」ってどういう事?
    619 : nobodyさん - 2009/05/27(水) 08:55:18 ID:??? (+57,+29,-10)
    書きたいように書けよ
    型にハマったんじゃ新しいもの生み出せない ゾと
    620 : nobodyさん - 2009/05/27(水) 09:45:02 ID:??? (-11,-30,-14)
    >616
    foreach($years as $eachYear){
    foreach($month as $eachMonth)
    }
    621 : nobodyさん - 2009/05/27(水) 09:47:36 ID:??? (+90,+29,-19)
    手が滑って途中で送信しちったが、まあ分かれ。
    623 : nobodyさん - 2009/05/27(水) 22:15:30 ID:??? (+74,-30,-51)
    phase1.A.csvを読み込んで行単位にIDに紐付けたチェックボックスをつけつつ表示
    phase2.postされたチェックボックスのID値を見てA.csvを読み込み該当の行を特定、B.csvを追記モードでopenして追記。A.csvから該当行を削除。

    こんなもんか
    624 : nobodyさん - 2009/05/27(水) 22:17:41 ID:??? (+67,+27,+1)
    >>621
    thx
    確かにeachが良さげ。お陰ですっきりした。
    629 : nobodyさん - 2009/05/28(木) 03:13:26 ID:??? (+52,+29,-30)
    心の底から脱力できる要因だなwww
    631 : nobodyさん - 2009/05/28(木) 08:39:32 ID:??? (+57,+29,-9)
    世の中解決できない問題は多々あるがお前のはうっかりさん過ぎる
    633 : nobodyさん - 2009/05/28(木) 14:53:59 ID:??? (+52,+29,-3)
    それらのどの辺がお勧めですか?
    634 : nobodyさん - 2009/05/28(木) 14:58:50 ID:??? (-1,-29,-6)
    DB Magazineとか高いし毎号買うほどのものでも・・
    636 : nobodyさん - 2009/05/28(木) 19:22:36 ID:??? (+41,+18,-6)
    絶対パスで指定すればいいのでは?
    637 : nobodyさん - 2009/05/28(木) 19:30:16 ID:??? (-16,-29,-27)
    >>635
    ZFにある画像データをstreamするphpを用意すれば良いだけなんじゃないの?
    638 : nobodyさん - 2009/05/28(木) 19:31:06 ID:??? (-10,-29,-37)
    >>635
    hogeだのhageだのは……。
    example.com
    が例文用にが予約されてる。
    640 : nobodyさん - 2009/05/28(木) 20:18:24 ID:??? (+8,+23,+0)
    フラグを立てる
    641 : nobodyさん - 2009/05/28(木) 20:20:17 ID:??? (+54,+26,-19)
    XXXで止めたいcaseのところでフラグでも立てて判定すれば良いんじゃねーの
    642 : nobodyさん - 2009/05/28(木) 20:30:56 ID:a/iG0y0p (-22,+29,-5)
    >>637
    おおー
    それが正解っぽいですね! どうもありがとう
    他の方もありがとう
    643 : nobodyさん - 2009/05/28(木) 20:41:12 ID:pePXJ68I (+24,+29,-7)
    買うほどのものでもなくね?
    本とwebで十分。
    646 : nobodyさん - 2009/05/28(木) 21:27:07 ID:??? (+0,-28,-15)
    $breakなんて変数初めて出てきてるんじゃ?
    647 : nobodyさん - 2009/05/28(木) 21:27:54 ID:??? (+27,+9,+0)
    yes
    648 : nobodyさん - 2009/05/28(木) 21:31:52 ID:??? (+51,+30,+0)
    650 : nobodyさん - 2009/05/28(木) 22:37:20 ID:??? (+57,+29,-4)
    その次からの処理に答えが書いてあるんじゃないかな
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について