を使用して表記し、未構成の符号化

を使用して表記し、未構成の符号化

  

問題はあなたのJavaScriptの設定以上に。理論既にプログラミングプラットフォームをご存知かもしれませんが"原則"大会は、Railsを適用することによって効率的に構築したいRubyのレールは、Webアプリケーションを構築するために使用されています。このレシピの焦点は、Ruby on Railsではないが、構成上でRuby on Railsの1つの側面、すなわち、規則(参照してくださいhttp://en.wikipedia.org/wiki/ Ruby_on_Rails本)のテストを書く想像し、実現の詳細については、再度上の命令と同じセット以上を使用します。いつの汎用的なコードに繰り返されるコードからのコードを変換すると、フレームワークを作成している。このフレームワークは2つの方法で作成することができます。最初の方法はインフラストラクチャを作成し、一緒に配線し、2番目はあなたのコードについての仮定をすることです。次のJavaScript JsUnitはテストを考えます:

ヴァールtestsToRun =(/ /テストケースの開始のJavaScriptコードをここにtestPlainVanilla:関数()(/ /いくつかのコードtestManager.success();)/ /テストケースの終了のJavaScriptコード); testManager.setTestCases(testsToRun);

変数やクラスを何をすべきかの詳細は、関連性はありません。どのような関連性がどのように一緒に配線されています。 testsToRun変数は、特定のテストを実行するために使用されるメソッドの数が含まれます。ときに、各テストが正常に完了すると、testManager.successメソッドが呼び出されます。 testsToRun変数は他の方法で、データメンバ、または関連付けられていない簡単に言えば関数は、testsToRun風の中でフラグのように掛かっている。もちろん、我々は、風でハングアップするtestsToRunしたくない;我々がテストをしたい実行されます。

テストtestManager変数で実行されており、testManager testsToRunの知識を持たない。挑戦方法testManager testsToRunを認識し、いったんは、含まれているテストを実行するために十分に意識したように把握されます。 testsToRunにtestManagerの配線規則または構成することができます。前述の例では、ソリューションtestManager testsToRunの意識を高めるために使われます 構成。古典的なプログラミング用語では、あなたの構成は、アルゴリズムによって解析されているテキストの断片をハードディスク上のファイルにあると考えることができます。そのプロセスの構成ですが、設定の1つだけのタイプだ。もう一つのタイプとして知られて プログラムの構成 ソースコードは、クラスをどのようにすべてを一緒に配線されて指示が含まれます。私はこれは動作中のシステムを作成する簡単な方法をされている構成を一緒に未知の実装配線する。コンフィギュレーション動作中のシステムを作成するため頻繁に使用されて使用されて言うには十分な利点は、さまざまな構成のタイプの欠点をカバーするつもりはない。構成は、控除のアルゴリズムを必要としないのではなく、それには、構成ファイルまたは一緒に実装配線することができますプログラマーを解析することができるだけのアルゴリズムが必要です。一言で言えば、設定はどの部分を見つけ出すの重い物を持ち上げるのを行うには、他の部分に配線されているプログラマまたは管理者が必要です。もし何かが動作しない場合、システムは、"問題が解決しないおっと言うことができる。

もう一度やり直してください。" コンベンション 動作中のシステムを作成するため、より複雑な方法であるように見えることができるの科学よりも芸術。例えとして、映画の中で アイ、ロボット、俳優ウィルスミスがロボット好きではない、警官、デルスプーナー、再生されます。ロボットの尋問シーンの中に、別の警官は疑問の余地はスプーナーウィンクした。ロボットウィル何を意味ウインクを要求し、スプーナーは、ウインクを何かが人間を知っていると説明する。映画の中でそれ以降の時点では、ロボットのスプーナーにamessage送信するためにウインクを使用します。スプーナー驚いているが、彼はそれが何を意味し、適切な行為を知っているのでどのようにウインクしない大会に関連して?誰がウインクとは何か知っている人には、その情報は、多くの意味を持つ単一の単純な作品です。人ウィンクが何であるかを知らない人には、不適合として却下されます。

誰がウインクを却下人と重要な情報が欠けての知識は、ループの外と見なされることができます。ウインクの情報を完全に理解するためにコンテキストが必要な複雑な部分を表します。 Ruby on Railsの1つの批判から、他の言葉で規則を使用して、科学よりも多くの芸術、そしてその論理は、それはウインクのように、との場合はそれを理解するためにコンテキストがない場合、それをしないことだセンス。私は、構成規則を使用してカウンタには、ご希望により慣習があります。最も単純なケースでは、構成は自明ですが、より複雑な場合には、構成ファイル内の独自の規則のすべてです。構成を理解するために、あなたは疑問が湧いて構成の規則を理解する理由を構成を使用する必要ですか?答えはそれを提供しても設定が適切なソリューションです 柔軟性;大会で、物事を所定の全体的なスキームに応じてください。理由の構成規則となっているが、多くのケースでは、開発者は柔軟性が、実際大会にしては十分だろうを得るための構成を使用する必要があると思うのです。ため、意思決定規則に基づいて行うことが慣習リフレクションを使用して、必要とする場合の実装、現在のコンテキストを知る必要があります。規則を使用しての大きな利点は、たびの変更は、大会発生することが自動的に最新の変更をおすすめの構成を維持する必要はありません。次は、構成上で規則を使用するといくつかのシナリオが考えられます:

•ときに、常に更新するために、クロスを管理する参照情報(例えば、データベースの列は、そのクラスのデータメンバにマッピングされる必要があります)。

•ときの構成のみの重要性は、開発者および管理者ではありません。たとえば、管理者が構成するデータベースアプリケーションに接続する場合に期待されます。しかし、モデルをしてaModelでは、コントローラのビュー-コントローラ(MVC)アーキテクチャビューに属している管理者を設定するとは思えない。

•ときは、匿名の型情報を知らなくても反射やメソッドの呼び出しを使用することができます。それは規則、Cなどのプログラミング言語を使用して実装することが可能です#とJavaのように反射サポートしますが、機能は匿名で非常に複雑なメソッドを呼び出しています。 JavaScriptやRubyなどの動的言語を使用して、非常にメソッドまたは型のプロパティを呼び出すことは簡単です。

•ときにあなたのユーザのヒント(と自分自身)で、何かうまく行かない時に提供する必要があります。際の規則を使用し、非常に重要です明確に何が何か動作しませんが間違っていることを示します。 Ruby on Railsは、次に何時に何かうまく行かない時にどうするかについてのヒントを提供することは非常に良い仕事をしません。このレシピのため、その場合は、慣習を知るのみ動作規則を使用するシステム用のコードを書く。ソリューションこの機能は、我々の単位に変換されますテストのフレームワークが重要です、以前は完全に規則ベースのシステム説明。それから時にユニットテストを書くこと、私たちの唯一のタスク構造体の一連のテストを実装するためには、ユニットテストのフレームワークの残りの部分を行いますされます。画像の目的については、のユニットテストを再びテンプレートの断片を識別見てみましょう。その大会にアプローチする構成アプローチから変換する必要があります。

 ソース: / jaxson /トランク/サイト/ルート/スクリプト/テンプレート/ testcontract.html 契約のテストページ

使用可能なテスト

試験地位
値="テストの試作"/" 未実行

トレース出力

前述の例の太字の行の構成を表し、その慣習に変換されるコードベースのコードです。時の設定から変換コンベンションするためのコードベースのコードをベースに、適用することができます2つの方法です。最初のアプローチは、クラス単位で使用されるようになって完全に規約ベースのフレームワークのテストを書き換えることです。この方法の利点は、クラスの希薄され、タスクを解決するためです。 2番目のアプローチは、構成機能を維持するが、その上には、コンベンション機能を実装するレイヤを記述します。このアプローチの利点は、複数の規則のソリューションが、適用されることが不利な追加のオーバーヘッドです。ここでは、2番目のアプローチを実装することと維持の両方の構成として大会層を可能な限り無駄。理想的には、構成層の機能だけを慣習により、必要に応じ含める必要があります。設定の追加、不要な荷物の追加機能のベースユニットが規則ファイルに変換するファイルのテストは、次のように似ています。

 ソース: /サイト/ルート/ ajaxrecipes / javascriptに/ conventionconfiguration.html 条約の構成上

変更後のコードは、3つのテストが含まれますが、この例では、コード内の大幅な削減を確認します。また、構成要素は、特定のコードの通知と明言されて明示的に記述する必要はありません(testManager.successなど)。ユーザの観点から、削減して、コードの簡素化は良いことですが、実際にはその必要がある多くの隠された側面が、何かうまく行かない時には、注意する必要ている場合、なぜそれが起こったのかする必要があります。どのようにこのコードを実装されての詳細は、この資料全体が議論されている次の一般的な概念が実装されているレシピでカバーされていません:

•HTMLコードは、ボタンが含まれている動的に戦略的に配置(conventiontest.js)ファイルが含まれて生成されます。ファイルはそうでは、変数がすでに宣言されていることですし、初期化可能に配置されます。

testsToRun変数•暗黙-変数が存在することであり、利用可能なテストのために点検されます。各テストメソッドは、ボタンを、ここでは、ボタンの名前は、テストメソッドの名前が生成されます。

それぞれのメソッド•およびカプセル化を自動的に適切なエラーまたは成功したテストを扱うプロキシを使用するときベースのコードでは、次の点に心を保つ独自の規則を作成:

初期化設定では、変数やオブジェクトの初期化の責任があります:ベースのコード、;大会で、コードのほとんどがそれ自体を初期化する責任があるコードをベースに。これは車を開始するようなものだ:あなたは、車のエンジンへの燃料供給を期待する、あなただけで、ドライブすることができるキーをオンにします。初期化の問題は、常にコンテキストを知らないということです。

•現在の初期化に2つの方法があります。最初に初期化して構成するときには、JavaScriptは、レシピ2-4には、XMLHttpRequestの工場で示すロードされます。 2番目のときに、最初のアクションが行われる初期化することです。 2番目のシナリオでは、フラグの初期化のステータスを示すfalseにするときには、JavaScriptが読み込まれる設定されます。その後の最初のアクションが行われますが、初期に発生します。

エラーチェック:会議システムを宣言し、特定の変数や型を期待する場合は、宣言されていない場合、問題が発生する。会議システムのエラールーチンは、すべてのエラーをキャッチし、詳細に何が間違って説明している必要があります。多くの開発者は、大会のシステムに適応されるべきと考えるかもしれないし、完全に正しいコードでは回避します。これは、大きな誤解の回避策を提供してずさんな開発のためになります。コンベンションベースのコードのため、適切なコーディングを必要とは、同じ大会に誰もがコードです。ショートカットを服用しないでください。

一貫性のネーミング:たび識別子のラベルを、必要な一貫性がある。識別子の名前を可能な限り明らかにする必要があります。 、スリックタイヤ、うまいしたり、謎めいたしないでください。 Ruby on Railsは、多くの理由から、そのうちの一つは、命名規則を一貫した、明らかにされ、直感的には成功です。

記事は、ソニアLandeを提出


免責事項:弊社のウェブサイトは、この資料の内容については責任を負いません。 Webarticles無料の情報リソースです。
重要: この記事は、"使用規約としない構成"コーディングの自動ソフトウェアによって翻訳された。大変申し訳ございませんが発生した可能性があります任意のスペルミスを感じている。お客様のご理解いただき、ありがとうございます。


Online: 369 users browsing the articles directory