Trucs d’optimisation des pages asp

25+ ASP Tips to Improve Performance and Style

Les trucs suivants sont simples et faciles à utiliser :

Tip 10: Use Option Explicit
Force la déclaration des variables (avec dim) et nous évite ainsi de faire des erreurs dû à une faute de frappe dans le nom des variables. De plus, les variables déclarées sont plus rapides que celles qui ne le sont pas.

Tip 11: Use Local Variables in Subroutines and Functions
Également, les variables locales sont plus rapides que les variables globales et le code est plus clair.

Tip 12: Copy Frequently-Used Data to Script Variables
C’est plus rapide lire une variable que lire la valeur d’un item dans une collection donc si on a l’intention de l’utiliser plusieurs fois, on l’affecte à une variable.

idItem = RS("idItem")
nomItem = RS("nomItem")

Tip 15: Batch Inline Script and Response.Write Statements
Un exemple vaut mille mots :

<table>
<% For Each fld in rs.Fields %>
    <th><% = fld.Name %></th>
<%
Next
While Not rs.EOF
%>
  <tr>
  <% For Each fld in rs.Fields %>
     <td><% = fld.Value %></td>
   <% Next
  </tr>
   <% rs.MoveNext
Wend %>
</table>

C’est plus efficace de faire :

<table>
<%
  For each fld in rs.Fields
      Response.Write ("<th>" & fld.Name & "</th>" & vbCrLf)
  Next
  While Not rs.EOF
    Response.Write ("<tr>")
    For Each fld in rs.Fields %>
      Response.Write("<td>" & fld.Value & "</td>" & vbCrLf)
    Next
    Response.Write "</tr>"
  Wend
%>
</table>

Tip 18: Use TypeLib Declarations for ADO and Other Components
Au lieu d’inclure le fichier adovbs.txt, utiliser les valeurs des constantes.

Tip 20: Avoid String Concatenation in Loops
Faire un response.write() dans une boucle à la place de concaténer des strings.

s = "<table>" & vbCrLf
For Each fld in rs.Fields
    s = s & " <th>" & fld.Name & "</th> "
Next

While Not rs.EOF
    s = s & vbCrLf & " <tr>"
    For Each fld in rs.Fields
        s = s & " <td>" & fld.Value & "</td> "
    Next
    s = s & " </tr>"
    rs.MoveNext
Wend

s = s & vbCrLf & "</table>" & vbCrLf
Response.Write s

Éviter :

s = ""
For i = Asc("A") to Asc("Z")
    s = s & Chr(i)
Next

Tip 23: Use Trailing Slashes in Directory URLs
Toujours mettre un dernier / lorsque l’url pointe sur un dossier. Lorsqu’il n’y a pas de /, le browser fait 2 requêtes au serveur une sans le / et la seconde avec.
Ex. : www.radio-canada.ca/nouvelles/dossiers/