2016-04-07 4 views
3

Ich habe ein altes klassisches ASP-Projekt übernommen und als Teil der Migration der Datenbank von Access zu SQL muss ich einige Datetime-Fälle an verschiedenen Stellen innerhalb der App behandeln. Der Gedanke ist, eine kleine Bibliotheksdatei mit meinen eigenen Funktionen zu integrieren.Sollte ich über eine Dual-definierte VBS-Funktion besorgt sein?

Es gibt keine "include once" -Direktive und die Seite hat genug verschachtelte Importe, wo ich nicht sicher sein kann, dass sie nicht mehr als einmal enthalten sind, wenn ich sie einfach auf jede Seite lege, die ich brauche.

Was passiert also, wenn eine Funktion auf einer ASP/VBScript-Seite zweimal deklariert wird? Sie identisch sein würde ... ex:

Function HandleDate(fld) 
    xyz 
End Function 

In einem Test mit einer duplizierten Funktion innerhalb einer Seite, scheint es keine Probleme zu sein, aber ich frage mich, ob es etwas, das mir bewusst sein sollte, wie das fühlt sich sicher nicht richtig an.

+0

Das ist schlechte Übung, wenn auch nur, um es schwieriger zu debuggen: Sie können nicht wirklich wissen, welche der Funktionen tatsächlich aufgerufen wird. Ich würde dringend empfehlen, die Option Explicit hinzuzufügen und alle angegebenen Namen zu korrigieren. –

+0

@ShadowWizard - es ist eine Legacy-App, die ich gerade übernommen habe - ich kann nicht einfach eine Option explizit in alles werfen und alle Probleme beheben ... es funktioniert so, wie es seit 15 Jahren funktioniert (Best Practice oder nicht). Das wäre viel mehr Ärger als es wert ist (könnte die ganze Sache an diesem Punkt genauso gut umschreiben). Meine Frage war, ob die doppelte Angabe identischer Funktionen problematisch wäre. – jleach

+0

Fair genug, dann ist die Antwort direkt vor Ort. Prost! –

Antwort

0

ich ein Vermächtnis klassischen ASP-Website haben und die vorherigen Coder hatte recht häufig auf Funktionen verdoppelt (vielleicht vergaß er sie schon da waren), so dass zwei Versionen existiert, wobei jede Seite Belastung. Das hat mir nie Fehler gemacht und ich betreibe diese seit Jahren.

1

Laut den Dokumenten sieht es nicht so aus, als wäre es zu wichtig. Das Hauptanliegen ist, sicherzustellen, dass Sie keine Schleife durch Datei A einschließlich Datei B verursachen, und dann Datei B einschließlich Datei A (was nicht wirklich so klingt, wie Sie es tun). Lesen Sie hier mehr ...

Including Files: Tips and Cautions

+0

Danke, es ist zumindest eine offizielle Seite (näher als ich gefunden habe), definiert aber immer noch nicht das Verhalten, auf das ich neugierig war. In jedem Fall würden alle Duplikate identische Prozedurkörper sein, und es scheint, ohne Problem zu arbeiten, also werde ich damit gehen. – jleach

Verwandte Themen