2012-04-25 15 views
1

私はDjangoを勉強するのに少し時間を費やしています。しかし、私は本当にアプリケーションを開発する最善のアプローチは何か分からない、つまり、いくつかのオプションがあります:すべてのモデルを作成し、すべてのURL、ビューを作成し、すべてのテンプレートを作成します。他の人は、機敏なアプローチを使い、ユースケースを使い、それが完全に機能するまで進んでいくことをお勧めします。もちろん、可能な他の推奨事項があるかもしれません。個人的に私はアジャイルアプローチに本当に惹かれていると感じていますが、私がデータベースに追加するすべてのモデルが新しいモデルを作成することを暗示しているからです。Django開発のベストプラクティス

総括すると、Djangoでの開発とアプリケーションの実行に際して、それがもたらすすべての影響を考慮に入れて、最善のアプローチをとるべきでしょうか?

ありがとうございます。

+1

この質問はより適切かもしれませんし、より良い答えをhttp://programmers.stackexchange.comで受け取ることができます。 – agf

+0

FWIW、私はテストドリブンアプローチ(TDD)に変換しています。私はDjangoのTDDに関するチュートリアルを書いています:http://www.tdd-django-tutorial.com/ – hwjp

答えて

1

私はDjangoプロではありません。私はDjangoモデル(セッションやユーザープロファイルなどの基本的なミドルウェアを除く)を使用していないため、Djangoをたくさんハックします。それ以外は、私はDjangoデータベースモデルをまったく使用しません。 私の経験は本当に異なっています。

私の見解では、あなたのチームの仕事の習慣によって決まります。私はそれがアジャイル開発か、まっすぐな1日のハックかどうか本当に気にしません。

私はいくつかの仕様を考え出すと思います。何を提供したいのですか?

初期仕様を準備したら、コーディングを開始できます。私にとって最も簡単なのは、いくつかのモデルを書いてから、いくつかのビューを書いて、私が取り組んでいるものに対応するテンプレートを書くことだと思います。実際には、始めるために、いくつかの基本テンプレートファイルと、すべての必要なコンポーネントを表示するダミービューを作成して、ベースHTMLをブラウザで適切に表示できるようにしなければなりません。

その後、私は最初に自分のモデルを書いています。なぜなら、通常は扱うのが最も難しいからです。リレーション(モデルとモデルのクラス)の関係は、最も込み入ったものではありません。

私は何か準備ができていると思うと、ブラウズしてコードをテストします。私はまだテストコードを書いていない。私は私が十分にテストするように感じるまでそれらを書く。

真剣に。それは習慣のことです。

時間がかかりすぎるため、この時点ではテスト駆動できません。

私はそれを言い換えてください。私のプロジェクトの環境と私の経験に基づいて、私は通常、移動する前にいくつかのビューがあるまで待ちます。それは私だけです。一部の人は追加/修正しようとするたびにテストを行います。それは習慣です。これまでは、同じ機能を書き直すだけの時間を費やすことになりました。しかし、時間が限られているため、私の機能が機能していることが確かな場合(タイプミスなど)、私はいくつかのビューを書いた直後にテストを書きます。

科学的な計算プログラムをテストするように頼まれたら、テスト駆動が簡単です。私はまだDjango(モック、Django unittest)でテストするのはかなり新しいので、私にとっては難しいです。

あなたとあなたのチームが正しく感じている限り、あなたが正しいと感じるようにしてください。時間の経過とともに開発が改善されます。

常にテストを書くようにして、できるだけコードを文書化してください。

the right development approachにあまり集中しないでください。熟練した開発者がテスト駆動開発を嫌う。あなたの仕様は常に変化します。ある日、私は10のビューと10のフォームを書いていました。翌日、私はRESTfulスタイルで自分のURLを書く必要があるので、それらを破壊しなければなりませんでした。私のビューのパラメータを変更する必要があります。

+0

"私はできませんそれは時間がかかり過ぎるため、この時点でテストドリブンを行います。これはほぼ-1です)。これは、小規模なプロジェクトの場合にのみ当てはまります。また、テストに慣れていない場合にも当てはまります。プロジェクトが成長するとすぐに、それは非常に有益で時間を節約します。 – marue

+0

うん。私はまだ特定のテスト技術にはまだかなり新しいと思います。しかし、あなたがコードを書くたびにテストするのはかなり狂っているような気がします。それは私がテスト駆動の愛好家から見える種類のイメージです。私は自分のコードをテストしたくないです。入力と出力が十分に分かっている場合は、コードを見直すだけで期待される返品フォーマットが正しいかどうかを判断できるので、テストをすぐに書く必要はありません。この恐ろしい経験のある開発者がここにいるのかどうかわかりません。 LOL – CppLearner

+0

この回答ありがとうございます、あなたはそれを書いてある時間を捧げたことは明らかです。しかし、もっと簡潔なものが必要です。私は、経験に基づいているだけでなく、理論的な背景にも基づいています。 –

0

私はモデルを最初に作成する必要がありますと信じています。非常に詳細な仕様がない場合でも、コーディングを開始する前に、バックエンドの外観を常に把握しておく必要があります。はい、これは座って何もコーディングせずにすべてを書き込むことを意味します。

その後、そのビューは次に来​​ます。テンプレートやUIはまったくありません(このページのフォームにはユーザー名やパスワードなどを要求するような絶対的な最小値を除いて)、私はすべてをプログラム的にテストしてからテンプレートを使用します。

最後にテンプレートです。

+0

あなたの答えをありがとう。 –

関連する問題