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

    私的良スレ書庫

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

    元スレ【PHP】フレームワーク CakePHP 16ホール目【v2.4】

    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
    651 : nobodyさん - 2013/12/08(日) 22:31:39.34 ID:??? (+33,+29,-7)
    >>650
    いい事言ってだんろうけど、わかりにくい。わかりやすくお願いします!
    652 : nobodyさん - 2013/12/08(日) 22:32:26.91 ID:??? (+27,+29,-7)
    あーわかった。
    ようは、テストもできねーようなコード書くなということか。
    653 : nobodyさん - 2013/12/08(日) 22:43:19.55 ID:??? (+27,+29,-17)
    テストできるぐらいの役割に分割しないとね
    654 : nobodyさん - 2013/12/08(日) 23:02:00.09 ID:??? (+33,+30,-171)
    テストがしにくいコードってのはあるし、
    テストをする意味が無いコードもあるんだよ。

    一連の処理の中から冗長なコードを取り除いていくと
    最終的にはコードというより定義に近くなる。

    PHPのスレだからまあ、WordPressのは例を出すと、
    wp_config.php これは一応PHPのコードだろ?
    だけどこれをテストする意味が俺にはわからない。

    設定ファイルでもない限りここまで定義のみに
    できることはないけどそれでもテストする意味あるのか?って
    思えるほど減らすことは出来るよ。

    テストは後付で加えるものじゃない。
    テストが出来るようにコードを書いていくんだ。
    テストがしにくいと感じたら、テストを書く技術を磨く前に
    テストがしやすいコードを書く開発技術を身につけるんだ。
    656 : 645 - 2013/12/08(日) 23:53:33.88 ID:??? (-26,-29,-281)
    >>655
    (釈迦に説法ではありますが)RESTfulな設計思想で、エラーを発生させた場合にはエラーメッセージと共に
    200以外のHttpステタースコードを投げるのは、異論はないと思います。

    論点としては、「RESTful」な設計だとしても
    エラーを発生させるような処理を確認するテストの場合に、
    エラー発生を「HTTP status code等」でテスト結果を確認すべきか否か?
    というところを言いたいのだと思いますが、、、、ここは議論の余地があるかと思います。

    > そのエラーを最終的に400としてクライアントに伝えるというのはただの定義でしかない。
    現状、クライアント側の実装でも、
    「ステータスコードを見て処理を振り分ける」処理があるため、
    テストをやっておいた方がいいのではないかと思った次第です。

    >>648 についてですが、
    testActionなどの後では、$this->controller でインスタンスに
    触れるようですが、、、 responseの内容は相変わらず取得できません。
    657 : nobodyさん - 2013/12/09(月) 00:29:29.65 ID:??? (+35,+30,+0)
    >>656
    やらないよりはやったほうがいいけど、意味が少ないというだけ。
    そして、費用対効果まで考えるとそこまでやる意味ないんじゃないってこと。

    なぜなら400を返すまでのコードが正しければ絶対400返るでしょ?一回確認すれば十分じゃない?
    その400を返すコードは400を返すという仕様そのものが変わらない限りもう変えることはないでしょ?
    それよりも複雑なのは400を返すまでの仮定であってその仮定が正しければ400返すでしょ?

    そういう難しくもなく安定したコードのために、どうやってテストをすればー
    なんて言うのなら、やっても時間がかかるだけで効果が無いと思うよ。

    > 現状、クライアント側の実装でも、
    > 「ステータスコードを見て処理を振り分ける」処理があるため、
    もしかしてサーバーとクライアント一緒にしてテストしてない?
    サーバー側の実装がどうであれ、400が返って来た場合のテストをすればいい。
    だから400を返すだけのアプリ(モック)を使えばいい。
    もっと言えば、クライアントだけで400が返って来たかのようにエミュレートさせれば
    クライアントだけでテストできる。

    どんなものでもテストしてやるぞ。ではなくアプリに手を加えてテストが簡単にできる
    ようにするというのはこういう話。
    658 : 645 - 2013/12/09(月) 01:07:18.47 ID:??? (+41,+30,-119)
    >>657
    引き続き、お付き合いいただきありがとうございます。
    全体的なテストの思想、手法のお話しについては概ね同意いたします。
    (クライアント側はSinon等を使っており、おっしゃるようなテストを書いております)

    ご教示いただいている、お話しについては
    「○○のようなテストはやるべきか、やらないべきか?」という形に収束しつつありますので、
    スレに添う、単純なCakePHPの
    「○○の実装の方法は?」というような部分について引き続き、お知恵をお借りできれば幸いです。
    659 : nobodyさん - 2013/12/09(月) 01:10:16.11 ID:??? (+27,+29,-3)
    >>658
    無駄な努力を頑張れやw
    661 : 645 - 2013/12/09(月) 01:53:31.21 ID:??? (-27,-30,-170)
    自己解決しました。
    ありがとうございました。

    先の例では、
    $this->testActionのあとに
    $this->assertEqual( 400, $this->controller->response->statusCode() );
    $this->assertEqual( "something", $this->controller->response->body() );
    $this->assertEqual( "json" $this->controller->response->type() );
    のような形で対応できました。

    お騒がせしてすみません。
    664 : nobodyさん - 2013/12/09(月) 11:48:24.86 ID:??? (-26,-29,-112)
    クラス名も書かず$this $thisって・・・メソッドで判断できるからまあいいけど
    問題にしてるクラスが何かってことくらい明確に書いたほうが回答者が質問の意図わかりやすいと思うの

    あとRESTfulかどうかってステータスコードの扱いと何か直接的な関係あるの?
    ステータスコードを適切に設計するのはREST以前の問題でしょうに
    666 : nobodyさん - 2013/12/10(火) 18:08:28.36 ID:??? (+26,+23,-10)
    PDOでCake風に使えるライブラリを書こうとしたけど、面倒で止めた
    667 : nobodyさん - 2013/12/10(火) 18:16:34.35 ID:??? (+36,+29,-29)
    >>666
    cakeを使おうと思わないのは何故なんだろう?
    668 : nobodyさん - 2013/12/10(火) 21:50:48.63 ID:??? (+32,+29,-29)
    >>667
    Cakeだと規模が大きくなりすぎるし、ファイル数も多い。
    それに既に運用しているサイトだと、
    Cake使わないほうが静的ファイルとの共存がしやすい。
    669 : nobodyさん - 2013/12/10(火) 22:48:38.38 ID:??? (+27,+29,-44)
    俺、人の作ったcakephpとか触ったことないんだけど、みんなは、DB設計とかめちゃくちゃでも我慢してその上からコードを編集するの?
    670 : nobodyさん - 2013/12/11(水) 00:30:44.85 ID:??? (+27,+29,-45)
    DB設計?モデルのことか?
    プラグインなんか使う時は自分のやり方と違うから戸惑うけど、
    気にせずに編集していくな。
    671 : nobodyさん - 2013/12/11(水) 10:49:31.96 ID:??? (+25,+27,-17)
    引き継ぎ案件の話なんか?
    672 : nobodyさん - 2013/12/11(水) 16:23:21.68 ID:??? (-29,-29,-70)
    DBの命名規則がよくわかりません。
    例えばユーザテーブルを「users」という名前でつけたとして、
    ユーザが所持しているアイテムを管理するテーブルを作りたいとします。
    そういう場合は

    user_items
    users_items

    どっちの名前が適切なんでしょうか?
    674 : nobodyさん - 2013/12/11(水) 17:43:03.38 ID:??? (+23,+29,-6)
    >>673
    なるほど。
    関連するテーブル名を連結させる必要はないんですね。
    ありがとうございました。
    676 : nobodyさん - 2013/12/11(水) 20:01:39.21 ID:??? (+36,+29,-57)
    >>671
    引き継ぎ案件。
    自分で昔作ったサイトとかもリニューアルする時、DBが複雑になってる時があって構造を直すんだけど相当手間だし、バグの原因になる。

    こういう場合はみんなは
    そのまま使うか、構造を変えるかどっち?
    677 : nobodyさん - 2013/12/11(水) 20:35:59.75 ID:??? (+35,+30,-51)
    引き継ぎで、その後のメンテナンスの必要性が明確じゃない時は
    なるべくそのままにしておく。

    長期間の保守契約も含めた場合は話は別。

    自分のサイトなら極限まで自分の好きにする。
    じゃなきゃ自分でやる意味なくない?
    678 : nobodyさん - 2013/12/11(水) 21:44:14.31 ID:??? (+13,+16,+0)
    >>677
    ありがとう!
    679 : nobodyさん - 2013/12/11(水) 23:56:50.75 ID:??? (+11,+14,+1)
    どういたしまして
    680 : nobodyさん - 2013/12/12(木) 01:28:30.30 ID:??? (+22,+22,+0)
    >>679
    誰だよお前w
    681 : nobodyさん - 2013/12/12(木) 01:30:43.56 ID:??? (+35,+29,-5)
    >>680
    俺だよ! 誰なのかあててみ!
    682 : nobodyさん - 2013/12/12(木) 03:41:11.74 ID:??? (+32,+29,-6)
    >>681
    俺かよ!マジかよ!ざけんなよ!
    683 : nobodyさん - 2013/12/12(木) 04:05:39.56 ID:??? (+22,+29,+0)
    いや、ここは俺が。
    684 : nobodyさん - 2013/12/12(木) 05:30:01.88 ID:??? (+22,+29,+0)
    ようじょ、ようじょ
    686 : nobodyさん - 2013/12/12(木) 11:59:53.86 ID:??? (+3,+15,-3)
    >>685
    1レコードそのまま取れなかったっけ?
    687 : nobodyさん - 2013/12/14(土) 00:57:14.30 ID:??? (-17,-23,-32)
    cakephp1を、そのままcakephp2にしてくれと言ったら、いくら取る?
    俺なら最低20万円。
    689 : nobodyさん - 2013/12/14(土) 02:25:37.01 ID:??? (+19,+29,+0)
    >>687
    まぁ規模によるよね。
    690 : nobodyさん - 2013/12/14(土) 02:40:33.10 ID:??? (-3,-12,-96)
    俺も今 php4 + CakePHP1.1 で稼働しているサイトを php5.4(以上)のサーバーで
    稼働できるように頼まれるかもしれない。

    工数が全く見えないんだけどどうやって見積もり取ればいいんだろう。
    691 : nobodyさん - 2013/12/14(土) 02:41:06.36 ID:??? (+33,+29,-41)
    規模もだけど現在のコードによる。

    cakephp2を考慮して正しく書かれたコードと
    全く考慮しない上に、間違った使い方ばかりした
    汚いコードでは100倍ぐらい差がでても不思議ではない。
    692 : nobodyさん - 2013/12/14(土) 02:44:20.85 ID:??? (+32,+29,-135)
    >>690
    移行ではなく、全部最初から作り直しの工数を見積もればいいよ。

    仕様を0から考える時間 or 現在のシステムを理解するのにかかる時間
     +
    0から開発した時の時間。

    決して、今あるコードを再利用できるから
    開発時間が短縮できると思ってはいけない。

    再利用できるように使えるように作られたコードであれば再利用できるが、
    使えるかもしれないというコードは、基本的に使えない。
    693 : nobodyさん - 2013/12/14(土) 03:06:53.02 ID:??? (+44,+30,-39)
    問題は、自分が過去に作った場合だな。
    蔵からしたら「お前が作ったものを新しくするだけだろ?」
    ってなもんで、予算をとってもらえないことが多い。

    だったら諦めろって話だが、そこで終わると仕事に繋がらないわけで、
    結局は安く請け負ってしまうんだよな
    694 : nobodyさん - 2013/12/14(土) 03:30:14.45 ID:??? (+32,+29,-18)
    >>691-693
    おぉ、色々ありがとう!
    参考にさせてもらう。

    これ、たぶん、断るわw
    695 : nobodyさん - 2013/12/14(土) 10:36:42.60 ID:??? (+43,+30,-108)
    >>693
    そういう理解の客って、そもそもCakePHPを新しくするって発想すら出てこないんじゃないの?
    目の前には動いてるプロダクトがあるわけで、やって欲しいのは機能の追加とかであって、
    機能は増えないし変わらないけど、CakePHP2にするってことじゃないと思うんだが。
    逆にCakePHP2にする事の意義を知ってる客なら、
    それが簡単じゃない事も知ってるはずだと思った。
    696 : nobodyさん - 2013/12/14(土) 17:19:20.55 ID:??? (+57,+30,-113)
    >>695
    「もっと動作を早くしてほしい」とか「サーバを変えたい」って場合がある。
    または、自分がCake2用の開発に切り替えてて、
    ライブラリもCake2用に作っている・使用している場合とか。

    つまり、「現状より良くしたい」という要求に対して
    「開発方法を変えないと出来ません」
    ってなったら客も怒るだろ?こっちの事情はともかくとして。

    ずっと1.3系&PHP4系を使い続けるならともかく、
    技術の進化と客の要求に対応するなら、
    どこかで折り合いをつけなければいけない。
    697 : nobodyさん - 2013/12/14(土) 22:46:14.15 ID:??? (+27,+29,-31)
    古いとセキュリティがどうのこうの…とか言ってみれば
    698 : nobodyさん - 2013/12/15(日) 00:01:11.18 ID:??? (-27,-29,-20)
    cakeの1系->2系なんてほとんど互換性ないだろ。
    バージョンアップのメリットないから。
    699 : nobodyさん - 2013/12/15(日) 01:04:45.89 ID:??? (+38,+29,-25)
    >>696
    開発方法を変えるなんて言う必要ないよ。
    勝手に変えればいい。
    どうせ客に言っても理解できない。
    700 : nobodyさん - 2013/12/15(日) 01:12:59.53 ID:??? (+45,+30,-218)
    >>696
    > 技術の進化と客の要求に対応するなら、
    > どこかで折り合いをつけなければいけない。

    なんか他人のせいにしているように聞こえるけど、
    それ、技術力がないからだから。

    君に足りない技術はね。今のコードを
    新しいコードへ連続的に変化させていく技術だよ。
    どうせ、今のを捨てて書きなおすことしか思いつかないんでしょ?

    この変化させていく技術力があれば、1系でも2系でも動くコードがかける
    PHP4系でもPHP5系でも動くコードがかける。
    動かないコードを動くように変えることが出来る。
    古いコードを新しいコードから利用できるように出来る。
    新しいコードを古いコードから利用できるように出来る。

    今の君は、このようなことをするのに何が必要かわからず
    またわかったとしてもそれを実現するだけの力がない。
    ゴールを見据えてそこまで至るルートを見つける力がない。
    ルートがわからないからいつまでたってもゴールに辿りつけない。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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