BlueM.Opt Code

From BlueM
Revision as of 05:53, 3 March 2018 by Froehlich (talk | contribs) (removed IHA.Win and updated assembly names)
Jump to navigation Jump to search

EVO.png BlueM.Opt | Usage | Development

Projektstruktur

Layout der working copy nach checkout von der Meta-Repository mit Beschriftung der Repository-Zugehörigkeiten

Der Code besteht aus den folgenden Assemblies (Projekten), welche in einer Projektmappe zusammengeführt werden:

  • Main: Startprojekt
    • Form1.vb: Hauptformular
    • EVO_Einstellungen.vb: Steuerelement für das Setzen der Optimierungseinstellungen
    • EVO_Opt_Verlauf: Steuerelement, dass den Verlauf der Optimierung anzeigt
    • EVOMOD.vb:
    • ...
  • Bluem.Opt.Apps: Assembly enthält Klassen für Evaluierungsanwendungen
    • Sim.vb: Basisklasse für Simulationsanwendungen
    • BlueM:
      • BlueM.vb: Anbindung an BlueM
      • BlueM.dll: BlueM Rechenkern
      • IHWB.BlueM.DLLAdapter.dll: .NET Wrapper zum Ansprechen des BlueM Rechenkerns (siehe BlueM.DLLAdapter)
      • SKos.vb:
    • S_CAN: Anwendung S:CAN (Sonde Graz)
      • Scan.vb
    • SMUSI:
      • Smusi.vb: Anbindung an SMUSI
      • IHWB.SMUSI.DLLAdapter.dll: .NET Wrapper zum Ansprechen des SMUSI Rechenkerns
    • SWMM
      • SWMM.vb: Anbindung an SWMM
      • Swmm_Iface.vb
      • SWMM5.dll: SWMM Rechenkern
    • Testprobleme: Testprobleme (Sinusfunktion, Deb, etc.)
      • Testprobleme.vb
  • Bluem.Opt.Common: Gemeinsam genutzte Objekte
    • Constants.vb: Modul enthält Konstanten und Enums
    • Constraint.vb: Klasse für Constraint
    • EVO_Settings.vb: Klasse, die die EVO_Einstellungen abbildet (XML-Serialisierbar)
    • Individuum.vb: Basisklasse für Individuen
    • Problem.vb: Definiert das zu lösende Optimierungsproblem
    • Progress.vb: Speichert den Optimierungsverlauf
    • OptParameter.vb: Klasse für OptParameter
    • Modellparameter.vb: Structure für Modellparameter
    • Provider.vb: Modul stellt Provider zur Verfügung (z.B. FortranProvider)
    • Objectivefunction.vb: Klasse für Zielfunktion
  • Bluem.Opt.Diagramm: Diagramm- und Zeichenfunktionalitäten
    • Diagramm.vb: Klasse, die von Steema.TeeChart.TChart erbt und diese Klasse erweitert
    • Hauptdiagramm.vb: Abkömmling von Diagramm
    • Monitor.vb: Formular enthält ein Monitor-Diagramm und einen Log
    • Scatterplot.vb: Form für die Anzeige einer Scatterplot-Matrix
  • Bluem.Opt.OptResult: Assembly verwaltet das Optimierungsergebnis mit zugehöriger Datenbank
  • Wave: Zeitreihenverwaltung und -darstellung (siehe Wave)

Code Formatting

Tab settings

VB tab settings

Comments

Es sollte die im VS integrierte Code-Dokumentationsfunktion genutzt werden ("XML-Kommentare"). Anleitung dazu bietet folgender Screencast. Further information on using XML comments in Visual Studio can be found here.

Formatierung von Überschriften:

#Region "Überschrift1"

'Überschrift 1 (z.B. Unterteilung zwischen Eigenschaften und Methoden
'####################################################################

   'Überschrift 2 (z.B. Größere Gruppen von Funktionen/Subs)
   'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      ''' <summary>
      ''' XML-Kommentare für Methoden, Eigenschaften, Felder etc.
      ''' </summary>
      Sub Beispiel()

         'Untertitel 1
         'xxxxxxxxxxxx

            'Untertitel 2
            '============

               'Untertitel 3
               '------------

               'Normale Kommentare

      End Sub

#End Region 'Überschrift1

Tokens

Folgende Tokens werden im Code benutzt:

Token Bedeutung
ACHTUNG Wichtiger Kommentar
BUG Betrifft einen Bug in Bugzilla
TODO Noch zu tun
HACK Temporäre Lösung
UNDONE ???
CHECK ???
UPGRADE Kleine mögliche Erweiterungen innerhalb von Funktionen
UPGRADE_NOTE Beim Update von VB6 auf VB generierte Kommentare
UPGRADE_WARNING Beim Update von VB6 auf VB generierte Kommentare
UPGRADE_ISSUE Beim Update von VB6 auf VB generierte Kommentare