2011-07-21 6 views
1

私は最近、asp.netで書かれたウェブサイトの開発を引き継いだ。これを使う前に、私はWebアプリケーションにほとんど時間を費やしていません。私はこの分野での経験がないので、私は批判することを躊躇していますが、このウェブサイトが非常にひどく書かれているように感じます。 Visual Studioので生成以下の検索結果でasp.netでのJavaScriptコードの再利用

ルック:

\website\js\ADMIN_userprofile.js(715):function sendInvite() { 
    \website\js\ADMIN_userprofilePro.js(745):function sendInvite() { 
    \website\js\mycontactdetails.js(466):function sendInvite() { 
    \website\js\mycontactdetailspro.js(466):function sendInvite() { 
    \website\js\mycontactrequestspro.js(676):function sendInvite() { 
    \website\js\mycontacts.js(239):function sendInvite() 
    \website\js\mycontactspro.js(240):function sendInvite() 
    \website\js\mygroups.js(103):function sendInvite() 
    \website\js\myprofile.js(715):function sendInvite() { 
    \website\js\myprofilepro.js(745):function sendInvite() { 
    \website\js\search.js(55):function sendInvite() {  
    \website\js\searchpro.js(55):function sendInvite() {       
    \website\search.js(44):function sendInvite() { 

これらの各関数は同じです。誰かが、別のページがsendInvite()機能を必要としていると感じたら、コードブロック全体をコピーしています。関連する.aspxページには、通常、その関数を呼び出すリンクがあります。また、javascriptによって呼び出された隠れたポップアップから「招待状を送ってもよろしいですか?サイト設計の残りの部分と合致する方法で

クローンコードはひどいので、維持することは非常に困難です。しかし、私はこれをより良くする方法を知りません。必要に応じてどこでも参照できる1つのデバイスに、すべての機能、つまりJavaScriptとポップアップを包み込むことはできますか?私はこのための.ascxページの使用について読みましたが(私が継承したソースコードではあまり使用されていません)、javascriptでこれらを使用するのが安全かどうかはわかりません。

答えて

2

戦慄

すべての場所で重複したコードよりも悪いものは何もありません。

最も単純なことは、関数を1つのjsファイルにコピーし、他のすべてのjsファイルからコードを削除し、新しいスクリプトファイルが、使用する関数の1つを呼び出すページに含まれていることを確認することですそれはHTMLのscriptタグを使用しています。

+0

これは一番簡単なことですね、ありがとう。 – Oliver

2

は、その後、あなたのページにそのモジュールをモジュールであなたの関数を配置し、require

のようなjavascriptのためのモジュールマネージャを試してみてください。

+0

感謝私は他のjavascript関数によって呼び出される関数を持っているいくつかの場所でこれを試してみます。この特定の機能がより外向きになっているので、私は各ページに直接含まれます。 – Oliver

1

うん男だけの方法を取ると、.jsファイルに入れて、ソリューションのフォルダにそれをポップし、各.aspxのページにあなたがそれを必要とする、それをインポートします。

<script type="text/javascript" src="<YOUR_LOCATION>"></script> 
関連する問題