1

ここで MoviesMVC の MVC チュートリアルに従っています。著者は次のように述べています。

public string Index() 
{ 
    return "This is my <b>default</b> action..."; 
} 

現在、Index メソッドは、コントローラー クラスにハードコーディングされたメッセージを含む文字列を返します。次のコードに示すように、View オブジェクトを返すように Index メソッドを変更します。

public ActionResult Index() 
{ 
    return View(); 
}

さて、彼は関数の署名を変更しました。しかし、なぜ彼はそれをハードコーディングと呼んでいるのでしょうか?

4

5 に答える 5

6

何かをハードコーディングする場合、通常、コンパイルされたコードの一部である文字列値やその他の設定などを参照します。

Indexつまり、メソッドが返すものを変更したい場合は、変更を加えて再コンパイルする必要があります。

別の方法として、app.config ファイルや web.config ファイルなどの設定用の構成ファイルを使用することもできます。特定の文字列 (ユーザー インターフェース メッセージとして使用される) に関しては、リソース ファイルを使用して、多言語文字列も保存できます。

これらのファイルを使用すると、すべてを再コンパイルする必要なく、アプリケーションに変更を加えることができます。これは、(通常)次の理由で必要です。

  1. 実稼働環境で作業する場合、通常、ユーザーが報告した問題に対処する可能性のあるコードがある場合です。テキスト メッセージに変更を加えるために再コンパイルと再デプロイが必要な場合 (特にマーケティング キャンペーン中に頻繁に発生する可能性があります)、メッセージを変更するためにコードを再コンパイルする必要があると、不要な変更が発生する可能性があります。展開中です。

  2. 特定のクライアントには独自のマーケティング担当者がいて、特定のサイト ページへのアクセスを許可したいと考えている場合があります。外出先でテキストを変更できれば、通常は開発会社を経由する時間を節約でき、通常は顧客の満足度が向上します。

于 2014-04-22T06:01:14.660 に答える
2

何かがハードコードされているとはどういう意味ですか

コードで何かを記述し、値を変更するためにコードを変更する必要がある場合、それはハードコードと呼ばれます。データベースなどのソースからコンテンツをロードする場合、コードを変更する必要はありません。列見出しのように一部のコンテンツが変更されない可能性があるため、コードで記述する (ハードコードする) 必要があります。

ハードコーディング (またはハードコーディングまたはハードコーディング) とは、おそらく振り返ってみると入力または構成データと見なされる可能性があるものを、プログラムまたはその他の実行可能オブジェクトのソースコードに直接埋め込む、または固定書式設定するソフトウェア開発慣行を指します。外部ソースからそのデータを取得したり、データを生成したり、指定された入力を使用してプログラム自体でフォーマットしたりする代わりに、データ

于 2014-04-22T06:00:50.173 に答える
1

これは、データベースやユーザー入力から取得せずに、結果を出力するか、何らかの値を使用していることを意味します。

したがって、このような人名を使用しているとします。string personName = [データベースから値を取得] string personName = [ユーザー入力から値を取得]

それよりは大丈夫です。

でもこんな使い方なら

string personName = "スミット"

値をハードコーディングしているだけです。

于 2014-04-22T06:08:24.980 に答える
1

自分でビルドしViewEngineて、MVC パイプラインに挿入することができます。これにより、実行後にのみ HTML コンテンツを決定できるようになります。

誰かが return ステートメントを文字列でコーディングした場合、そのメソッドによって返される HTML コンテンツを変更することはできません。変更できないためです。

于 2014-04-22T06:03:04.730 に答える