- 締切済み
1ファイルに記述の利点と欠点
お世話になります。 1ファイルにまとめて記述する利点と欠点についておしえて欲しいのですが アンケートを例にして書きます。 アンケートシステムを作る際、 投票ページをquest1.php 結果ページをquest2.php の、2ファイルで作った場合と 投票ページ・結果ページをまとめて1つのファイル(仮にquest.php) に記述して作った場合の違いを教えて欲しいのですが。 1システムを2ファイルにするか、1ファイルにするかではどのような違いがありますか?? 今回、アンケートシステムで例えましたが もっと大容量プログラムの場合も想定して、この利点と欠点を教えて下さい。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- inu2
- ベストアンサー率33% (1229/3720)
個人的な意見ですけど、参考になれば・・・ 私の場合、1class 1ファイルですね (基本的にclassしか作らないもんで・・・) あと、1画面 1HTMLファイル という感じ プロジェクト全体の画面数が圧倒的に多い場合は臨機応変にヘッダ専用とフッタ専用のHTML画面(テンプレート)とか位は用意します。 投稿ページだけ考えても ・回答の整合性(validate)関係 ・DB関係(まぁ、ファイル保存でもXML保存でもなんでもいいけど) ・POST(GET)処理関係 ・エラー処理関連 ・出力(画面表示)関係 ・入力Foam用HTML ・確認用HTML(確認画面が必要かどうかはわかりませんけど・・・ など等・・・これで全部ではないですけど、それなりのファイル数になります もちろん全部を1ファイルで書いても機能しますが、後々修正を加えたり、将来的に一部分だけ使いまわそうとした場合にかなり不都合ってか面倒です 得にHTML内にだらだらだらー と書いたりした場合、半年後、1年後に自分自身でもどこで何の処理してるか、さっぱり分からなくなりますよ。
- taketan_mydns_jp
- ベストアンサー率58% (450/773)
こんにちは。結論的には好みじゃないですかね(笑。私はどちらの場合も使いますが、単純に2ファイルというような使い方は不合理なのでしません。 メリットでメリット等をまとめると、 1ファイルの場合 メリット: とりあえずメンテナンスが1ファイルなのでそれだけ直せば良い URLが散逸しない 配布したり引っ越ししたりするとき楽 デメリット コードが長くなると読みにくくなる(私的にはせいぜい100行くらいまでが良い) エラーがでた場合、どこにエラーがでたか掴みにくい 複数ファイルの場合 メリット 1機能1ファイルなので、どこにどの機能があるかとらえやすい 1機能のエラーが他の機能に影響しない 同じ機能を使っていて、複数ファイルが存在する場合、両方を直さなければいけない可能性がある デメリット ファイル数が多くなって来るととてもメンテナンスがしにくい アップデートや設置が面倒 私の場合、特に区別はしていませんが、200行くらいまでなら1ファイルで作ってしまう事が多いですね。それ以上になると編集が面倒になってくるので、インクルードファイルに分けたり、同じ機能は共通関数としてまとめて共通外部ファイルとする事が多いですね(例えばHTMLのヘッダー、フッター、DB接続等)。単に同じような機能を別ファイルにするというのは合理的とは言えないと思います。 動作ごとに分ける、というより機能ごとに分ける、というのが合理的じゃないでしょうか。 参考まで。
- shirayukix
- ベストアンサー率43% (90/207)
転送量は生成したHTMLの容量なので、 1ファイルでも複数ファイルでも出力内容が同じなら転送量も同じです。 実行速度は1ファイルで関数なしが速いです。 関数呼び出しのオーバヘッドがあるので。 回数が少ない場合は差が小さすぎて気になりませんが、 大規模システムで呼び出し回数が多い場合は気をつける必要があります。
- yambejp
- ベストアンサー率51% (3827/7415)
1人でちまちま作るときは1ファイルでやる方が多いでしょうね。 引数などの受け渡しを変えたときなど直感的に修正ができますので。 ただ複数人で作業するときはI/Oは別処理の方が確実だと思います。 もちろん仕様をきちんとまとめて伝えてあげないといけませんけど。 ちなみに投票ページと結果ページとなっていますが、 投票と結果は処理系がかなり違うので別にしてしまう方がよいかも 投票ページ、確認ページ、結果ページとすることの方がおおいですが その場合は投票と確認がおなじページで、結果は分けるかなぁ・・・・。
- shirayukix
- ベストアンサー率43% (90/207)
1ファイルの場合、投票ページを表示するか結果ページを表示するか判断する処理が入ります。 投票した内容が送られてきていたら結果ページを表示のように。 複数のファイルに分けると、あるファイルを変更すると他のファイルも変更する必要が出てくることもあり面倒です。 関数などを共通のファイルにすればある程度解消されますが、関数の仕様を変更したら同じ事が起こります。 最近、1ファイルで大規模なシステムを作りました。 ・結果を表示とか処理部分の先頭にコメントを書いておいてファイル内検索でジャンプする。 ・秀丸エディタのようにファイルを二分割画面で編集できる。 この2つの機能が便利でした。
お礼
回答ありがとうございます。 やはり面倒さの面では1ファイルのほうが便利ですよね。 大規模システムの場合のサーバー負荷や、転送量なんかの違いはどんな感じでしょうか??