#include-Funktionen organisieren

Hier werden Fragen und Probleme zur Anwendungsentwicklung mit InDesign diskutiert.
Antworten
wernerperplies
Beiträge: 242
Registriert: 6. Aug 2011, 17:48
Wohnort: 18374 Zingst
Kontaktdaten:

#include-Funktionen organisieren

Beitrag von wernerperplies » 8. Nov 2015, 17:01

Frage auf HilfDirSelbst - #include-Funktionen organisieren

Hallo MD,

Javascript-Sourcen mit ein paar tausend Zeilen Programmcode dürften eher selten sein, aber bei mir ist das eher die Regel.
Jetzt stoße ich ziemlich früh bei der Arbeit schon an den Punkt, wo ich mich frage, wie ich das Ganze am besten übersichtlich halte, bzw. wie ich das Ganze überhaupt organisieren soll.

Ich denke, es wird häufig vorkommen, dass ich innerhalb mancher Funktionen auf Funktionen aus einem anderen #include-Script zugreifen muss. Wie mache ich hier kenntlich, wo dieses #include-Script abgelegt ist, falls ich es mal verändern muss?
Wie Dir bereits früher geschrieben habe, verwalte ich meine Projekte mit Microsoft Visual Studio und editiere den Code im ESTK.

Die Versionsverwaltung und die Backups erledige ich mit Micosofts Teamfoundation-Server-Dienst (Visual Studio Online)

Ein neues Projekt lege ich in Visual-Studio an und füge die benötigten Dateien dort dem Projekt hinzu.

Als Beispiel hier mein WpsProjecthandler:

Hier kann man direkt eines der zuletzt bearbeiteten Projekte öffnen:
Startseite Visual Studio - Projecthandler.png
Startseite Microsoft Visual Studio - WpsProjecthandler öffnen
Es wird eine Liste mit allen, dem Projekt zugeordneten Dateien, geladen und angezeigt:
Aus dieser Liste können die zur Bearbeitung anstehenden Dateien direkt im ESTK geöffnet werden:
Projektmappen-Explorer.jpg
Der Projektmappenexplorer zeigt alle, dem Projekt hinzugefügten Dateien an.
OpenSourceFiles.png
Source Files im ESTK öffnen
openFiles.jpg
geöffnete Dateien
In einer separaten Includes.jsx-Datei verwalte ich alle JavaScript-Dateien, die beim Aufruf des Projektskriptes benutzt werden sollen.
IncludesJsx.png
Auszug aus einer Includes-Datei
Diese Includes.jsx-Datei füge ich am Anfang des Projektskriptes ein:
IncludeIncludes.png
Includes-Datei aufrufen
IncludeIncludes.png (11.12 KiB) 14968 mal betrachtet
Für die Erstellung einer Kundenversion füge ich dann mit einer Spezialversion meines Skriptes WpsIncludes2AllIncluded.jsx alle benötigten JavaScript-Dateien zu einer einzigen Datei zusammen, speichere sie binär ab, füge ein Wrapper-Funktion hinzu, die den gesamten Setup-Prozess ausführt (Pfade einrichten, und mitgebrachte Dateien installieren)

Der von mir beschriebene Weg dient dazu, vorhandene Routinen immer wieder zu nutzen, neue Routinen komfortabel einzufügen, eine Versionsverwaltung zu nutzen und die Erstellung von Kundenversionen komplett zu automatisieren.

Eine einfachere Version mein IncludesSkriptes gibt es hier:
Arbeiten Sie modular mit WpsIncludesInCludes.jsx
einen schönen Tag wünscht

Werner Perplies
https://www.weepee.de

MDomino
Beiträge: 1
Registriert: 15. Okt 2015, 09:51

Re: #include-Funktionen organisieren

Beitrag von MDomino » 8. Nov 2015, 20:52

Hallo Werner,
vielen Dank für diesen Einblick in deine Arbeitsweise.

Zwei Verständnisfragen:
1. Sind in dem includes.jsx-Script *alle* Dateien verlinkt, die sich in deiner Library befinden (also alle, die du je angesammelt hast) oder sind das „nur“ alle, die im jeweiligen Hauptscript zum Einsatz kommen?

2. Und wie ist das Hauptscript vor dem Zusammenführen in eine Datei organisiert? Du hast da ja, wenn ich dich richtig verstehe, genau einen include-Link zum include.jsx-Script. Rufst du dann alle Funktionen aus den include-Scripten auf? Also das heißt, befindet sich dein gesamter Programmablauf im Hauptscript. Oder verlagerst du auch hier Unterabläufe in Include-Scripts aus?

Ich hoffe meine Fragen sind verständlich, sonst präzisiere ich gerne noch mal.

Danke und viele Grüße,
MDomino

wernerperplies
Beiträge: 242
Registriert: 6. Aug 2011, 17:48
Wohnort: 18374 Zingst
Kontaktdaten:

Re: #include-Funktionen organisieren

Beitrag von wernerperplies » 9. Nov 2015, 09:01

Guten Tag MDomino,
1. Sind in dem includes.jsx-Script *alle* Dateien verlinkt, die sich in deiner Library befinden (also alle, die du je angesammelt hast) oder sind das „nur“ alle, die im jeweiligen Hauptscript zum Einsatz kommen?
Die Auswahl muss ich leider an zwei Stellen treffen:
  1. bei der Projektzusammenstellung in Visual Studio
  2. in der eigentlichen Includes.jsx-Datei
Die Auswahl in Visual-Studio dient dazu, Änderungen einzupflegen und verfolgen zu können. Diese Änderungen fließen bei der Neuerstellung einer beliebigen Kundenversion, die ein oder mehre Module dieser Auswahl verwendet, automatisch ein.
2. Und wie ist das Hauptskript vor dem Zusammenführen in eine Datei organisiert? Du hast da ja, wenn ich dich richtig verstehe, genau einen include-Link zum include.jsx-Script. Rufst du dann alle Funktionen aus den include-Scripten auf? Also das heißt, befindet sich dein gesamter Programmablauf im Hauptscript?
Ja, den Vorteil sehe ich darin, dass ich für die Kundenversion nur eine Datei zu verwalten habe. Außerdem archiviere ich die AllIncludedDatei. So lassen sich bei auftretenden Fehlern die Zeilennummern aus der Logdatei eindeutig zuordnen.

So, jetzt hoffe ich, dass ich mich verständlich ausgedrückt habe. :)
einen schönen Tag wünscht

Werner Perplies
https://www.weepee.de

Antworten

Zurück zu „Fragen zur Programmierung“