Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Vorschlag für Quelltext-Editor (https://www.delphipraxis.net/76182-vorschlag-fuer-quelltext-editor.html)

gfjs 31. Aug 2006 04:56


Vorschlag für Quelltext-Editor
 
Guten Morgen, Allerseits.

Im Quelltext-Editor gibt es ja mittlerweile eine ganze Menge sinnvoller Hilfen wie z.B. das automatische Einfügen von "end;" nach Eingabe von "begin". Ich selbst erleichtere mir die Übersicht in meinem Code dadurch, indem ich hinter "end;" immer angebe, worauf sich das End bezieht.

Delphi-Quellcode:
procedure Form1.Button1_Click1(sender: System.Object; e: System.EventArgs);
var
  i,j : integer;
begin
  for i := 0 to Panel1.Controls.Count - 1 do
  begin
    DoSomething;
    for j := 0 to Anzahl do
    begin
      case Value of
        1: begin
             ........
           end; // 1
        2: begin
             if i = 5 then
             begin
               ..........
             end; // if i = 5 then
           end; // 2
      end; //  case Value of
    end; // for j := 0 to Anzahl do
    DoSomething;
  end; //  for i := 0 to Panel1.Controls.Count - 1 do
end; // procedure Form1.Button1_Click1
Vielleicht wäre das ja einen Vorschlag an Borland wert? Ich finde, dass das gerade Anfängern (wie mir) das Zurechtfinden in längeren Codes und auch die Fehlersuche deutlich erleichtert.

Gruß Jürgen.

mkinzler 31. Aug 2006 05:41

Re: Vorschlag für Quelltext-Editor
 
Möglicherweise ist das ja durch Verwendung der Code-Templates möglich. hast du das schon mal versucht?

GuenterS 31. Aug 2006 06:53

Re: Vorschlag für Quelltext-Editor
 
Ich habe das auch mal gemacht, das führt dann bald soweit, dass man normale Kommentare, welche etwas zu der Procedure/Function/Block etc. aussagen sollen, schnell verschwinden. Auch leidet die Übersichtlichkeit darunter, wenn man hinter jedes End; hinschreibt wohin das gehört und wenns ganz dumm kommt, verschiebt einem ein SourceFormatierer den Kommentar woandershin.

Ich für meinen Teil würde es besser finden wenn man zum Beispiel auf einem end; steht, dass das zugehörige begin farblich hervorgehoben wird. Entsprechende Einrückungen helfen ja auch schon, das richtige Begin zu finden. Sind diese zu weit auseinander, mehrere Bildschirmseiten, könnte man sich überlegen ob man den Code nicht schöner gestalten könnte. Vielleicht in eine weitere Procedure auslagern?

gfjs 31. Aug 2006 07:11

Re: Vorschlag für Quelltext-Editor
 
@ mkinzler

Code-Templates habe ich noch nicht versucht, aber nur deswegen, weil mir das bisher nichts sagt. Wo kann ich was drüber finden?

@ GuenterS
Bisher bin ich damit eigentlich ganz gut zurechtgekommen, aber die Idee mit farblich hervorgehobenem begin und end (wie bei den Klammern) wäre natürlich auch schon hilfreich. Oder zwei Fraben für die unterschiedlichen Möglichkeiten der Kommentierung (// und {}).

Gruß Jürgen.

RavenIV 31. Aug 2006 07:12

Re: Vorschlag für Quelltext-Editor
 
Zitat:

Zitat von gfjs
Im Quelltext-Editor gibt es ja mittlerweile eine ganze Menge sinnvoller Hilfen wie z.B. das automatische Einfügen von "end;" nach Eingabe von "begin". Ich selbst erleichtere mir die Übersicht in meinem Code dadurch, indem ich hinter "end;" immer angebe, worauf sich das End bezieht.

Also ich habe mir das auch so angewöhnt.
Und ich würde mich nicht als "Anfänger" bezeichnen.
Allerdings mache ich "unwichtige" Kommentare in { und }.
Die eher wichtigen oder interessanten bekommen das // oder sogar //**.
So kann ich die Arten von Kommentaren unterscheiden.

hincapie 31. Aug 2006 07:20

Re: Vorschlag für Quelltext-Editor
 
Hhhmm, also ich finde das etwas unübersichtlich so.
Kommentare in meinen Quelltexten sollen ja eigentlich das erklären, was aus dem Code direkt nicht hervorgeht.
Mir reicht es, konsequent die begin-end-Blöcke gleich einzurücken, so dass man relativ schnell erkennt, welches end zu welchem begin gehört.

RavenIV 31. Aug 2006 07:29

Re: Vorschlag für Quelltext-Editor
 
Also ich muss öfters alte Software warten, in der es viel "Spaghetticode" gibt. Kommentare sind da nur sehr spärlich dabei.
Da hat es Funktionen, die über 5 Bildschirmseiten gehen und viele verschachtelte begin/end.
Da weiss man dann nicht, on nun gerade ein with oder ein for oder while beendet wird.
Ohne zusätzliche Kommentare hat man da keine Chance...

Und das alles umzuschreiben und aus den langen Funktionen mehrere Funktionen machen dauert zu lange. :-(

mkinzler 31. Aug 2006 07:29

Re: Vorschlag für Quelltext-Editor
 
Zitat:

Code-Templates habe ich noch nicht versucht, aber nur deswegen, weil mir das bisher nichts sagt. Wo kann ich was drüber finden?
Live-Templates

Der_Unwissende 31. Aug 2006 07:39

Re: Vorschlag für Quelltext-Editor
 
Hi,
ich verwende auch diese Art der Kommentare und dies ist auch bei meinem Arbeitgeber so erwünscht. Die Übersichtlichkeit leidet eigentlich gar nicht darunter. Es erleichtert hier wirklich in dem Code verschieder Menschen (man kommt mir der Abschnitt über 5 Bildschirmseiten bekannt vor :wink:) durchaus noch halbwegs etwas lesen zu können. Es gibt halt Menschen die es nicht packen ohne Spaghetticode zu programmieren, aber auf deren Altlasten bleibt man irgendwo sitzen.

Ich finde dass hier nicht einmal der Unterschied von { } und /* */ oder // nötig ist. Kommentare stehen bei mir einfach nicht direkt hinter oder im Code. Wenn ich einen Kommentar schreibe, ist dieser häufig mehrzeilig, steht aber auch immer über dem Code, auf den sich dieser Kommentar bezieht. Finde ich also einen Zeilenkommentar, direkt hinter einem end, weiß ich dass es sich um ein Kommentar handelt, der anzeigt was an dieser Stelle endet.
Dass das richtige begin zu einem end markiert wird ist finde ich nur eine weitere Unterstützung. Da man nicht immer 4 Seiten zurück scrollen möchte, hat man einfach einen schnelleren Überblick mit den Markierungen.

Gruß Der Unwissende

sakura 31. Aug 2006 07:46

Re: Vorschlag für Quelltext-Editor
 
Zitat:

Zitat von Der_Unwissende
ich verwende auch diese Art der Kommentare und dies ist auch bei meinem Arbeitgeber so erwünscht.`

Warum?
Zitat:

Zitat von Der_Unwissende
man kommt mir der Abschnitt über 5 Bildschirmseiten bekannt vor

Deshalb? Wie kommt Ihr zu so langen Methoden? In den letzten 6/7 Jahren bin ich auf vielleicht eine handvoll Methoden gestoßen, wo sich Code länger als 100 Zeilen nicht sinnvoll vermeiden ließ, aber 5 Seiten (über 300 Zeilen) nicht einmal...

Geht im Menü auf Ansicht -> Templates (evtl. Vorlagen). Dann die zu z.B.: forb erst auswählen, dann rechtsklick und auf Bearbeiten. Dann die untenstehenden Änderungen übernehmen (nur 5. Zeile von unten gezählt):
Code:
<?xml version="1.0" encoding="utf-8" ?>

<codetemplate   xmlns="http://schemas.borland.com/Delphi/2005/codetemplates"
            version="1.0.0">
   <template name="forb" surround="true" invoke="manual">
      <script language="Delphi" onenter="false" onleave="false" onvalidate="true">
         ValidateForTemplate;
      </script>
      <point name="index">
         <text>
         I
         </text>
         <hint>
            loop counter
         </hint>
      </point>
      <point name="val">
         <text>
         0
         </text>
         <hint>
            loop low bound
         </hint>
      </point>
      <point name="count">
         <text>
            List.Count
         </text>
         <hint>
            loop high bound
         </hint>
      </point>
      <description>
         for loop
      </description>
      <author>
         Borland Software Corporation
      </author>
      <script language="Delphi" onenter="false" onleave="true">
         DeclareVariable(|index|);
      </script>
      <code language="Delphi" context="methodbody" delimiter="|"><![CDATA[for |index| := |val| to |count| - 1 do
begin
|selected||*||end|
end;[color=#ff0000][b] // for |index| := |val| to |count| - 1 do[/b][/color]
]]>
      </code>
   </template>
</codetemplate>
...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:43 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz