4

CodeIgniter (MVC フレームワーク) で PHP を使用しています。私の質問はかなり単純です。あなたによると、少し複雑なWebサイトを操作する際のより良いアプローチは何ですか.

Web サイトの小さな機能と大きな機能をすべて計画し、それらをどこに配置するかをリストし、データベースのテーブルと列を計画した後。

今までは、一度に 1 ページずつ作成を開始していました。CSS の問題に取り組み、動作 (JavaScript) とバックエンドを同時に実行します。

あなたの経験では、フロントエンドですべての問題を完全に処理し、すべてを完了させる方が効率的ですか。その後、バックエンド ロジックに取り組みますか?

JavaScriptはどうですか?(フロントエンドでJavaScript +検証に関連するユーザーインターフェースのみを行い、バックエンドですべてのAJAX呼び出しと応答を行います..?)

4

3 に答える 3

11

フロントエンドとバックエンドの両方を段階的に開発する反復アプローチを強くお勧めします。

単体テストが可能なバックエンドでの簡単な作業を取得してから、これと相互作用してフロントエンド機能を実装するシンプルなUIを構築します。徹底的にテストします。終了するまで繰り返します。

これを行わないと、機能が機能していることを確認するのが非常に困難になります。結果として、最後にピースを接着することは悪夢になります。せいぜいデバッグに多くの時間を費やし、最悪の場合、主要な設計上の欠陥を発見し、コードベースの大部分を書き直さなければなりません。

于 2010-09-12T19:10:08.970 に答える
1

PHPでMVCを実行しませんでしたが、WPF / C#での経験は似ているはずです。私はアーキテクチャから始め(DIコンテナを使用してすべてをまとめました)、その後、最初のViewModelを、非常に単純なUIとともに実行して、すべてが正常であるかどうかを確認しました(はい、TDDの方が適切です)。 )。私はそれを続け、ボタンなどが必要でない限り、UIにはあまり焦点を合わせませんでした。しばらくして、私はViewModelを使い終え、UIに焦点を合わせ、それを磨き上げました。

ページを機能させるには3つすべてが必要であるという理由だけで、3つのコンポーネントすべての間をジャンプしても問題はありません。また、作業中に退屈することもありません。目的を失ってはいけません。ほとんどの機能を完成させるために努力してください。UIの研磨は後で行うことができ、MVCアプローチのため、それほど時間はかかりません。

于 2010-09-12T19:11:53.493 に答える
1

あなたは非常に一般的な質問をしていて、いくつかの詳細が混ざっています...

私は一般的な質問を次のように理解しています:ソフトウェアを書くという点では、ボトムアップ(最初にデータベース呼び出し、次にビジネスロジック、その後ui)またはトップダウン(最初にui、ビジネスロジック、データベース呼び出し)で書く方が良いです。

UIの問題を早期に解決するには、トップダウンが適しています。ビジネスロジックとデータアクセス(および場合によっては他のインフラストラクチャコード)は後で使用できるようになります。

インフラストラクチャの問題を早期に解決し、UIを最後まで残すには、ボトムアップが適しています。

どちらの方法も有効であり、あなたが単一の開発者である場合、それはこれに要約されます-どちらがより快適ですか?

個人的には、一度に1ページずつ、すべての機能を使用します。すべてが正しく機能することを確認します(意味のあるユニットテストと受け入れテストを使用します)。このようにして、すべての側面に同時に取り組み、問題をより迅速に修正できます。

UI、ビジネスロジック、データアクセス、その他のインフラストラクチャなど、ソフトウェアのすべての側面について短いフィードバックループが必要です。短いほど良いです-大きくなりすぎて優雅に変更できない前に物事をすばやく修正し、クライアントに進行状況を示して、早い段階であなたを操縦できるようにします。

于 2010-09-12T19:12:12.837 に答える