Zeilenbreite Quelltexteditor

Für Fragen von Einsteigern und Programmieranfängern...
c77ar
Beiträge: 4
Registriert: Mi 15. Apr 2020, 16:21

Zeilenbreite Quelltexteditor

Beitrag von c77ar »

Hallo liebe Forenmitglieder(innen),

ich bin Lazarus Neuling und habe da mal ein vielleicht ganz dumme Frage: Im Quelltexteditor werden ja durch Linien Bereiche untergliedert, wie zum Beispiel Beginn und Ende einer Prozedur, etc..

Unter anderem wird auch durch eine senkrechte Linie die "Breite" der Programmzeile vorgegeben. Ich kann über diese hinwegschreiben, wenn ich keine neue Zeile anfangen möchte. Nun zur Frage: Gibt es eine Möglichkeit, die "Markierung der Zeilenbreite" zu verändern? Heutige Monitore haben ja schon recht hohe Auflösungen und ich könnte mir gut vorstellen, das diese Markierung noch aus einer "Pre-4K-Zeit" stammt :-)

Oder bin ich da auf dem Holzweg und "trainiere" mir gerade einen unsauberen Stil an?

Liebe Grüße

Christian

Mathias
Beiträge: 4850
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Zeilenbreite Quelltexteditor

Beitrag von Mathias »

Das habe ich mich auch schon gefragt, ich denke dies ist eine Altlast von DOS / Turbo Pascal.
Verstellbar ist, irgendwo in den Editoroptionen.
Codetools hat auch 80 Zeichen.
Sowie der Codeformatierer.
Dies ist aber alles einstellbar.

Einzig was ich mir vorstellen könnte, das beim Ausdrucken etwas abgeschnitten wird.

Zum Teil ist es recht lustig, da wird ein ); auf eine neue Zeile genommen. 😉

Ein schlechte Gewohnheit ist dies nicht, ansonsten hättest einen kleineren Monitor kaufen können.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

Winni
Beiträge: 189
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.06, fpc 3.04
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Zeilenbreite Quelltexteditor

Beitrag von Winni »

Hi!

Ja, mit den Einstellungen des Editors kann man ein Semester verbringen ....

Werkzeuge --> Einstellungen --> Editor --> Anzeige --> Rechter Rand
Steht per default auf 80, kann man aber jede Menge Sinn und Unsinn mit veranstalten.
Und gleich den Rand noch in knalle rot. Wenn man möchte.

Und dann braucht man noch:

Werkzeuge --> Einstellungen -->Codetools --> Zeilentrennung

Da sollte man die Zeilenbreite an seinen rechten Rand anpassen.
Und auf der gleichen Seite kann man auch einstellen, dass er nicht vor einer Klammer umbricht.
Oder einem Semikolon.

Winni

Ich934
Lazarusforum e. V.
Beiträge: 110
Registriert: So 5. Mai 2019, 16:52
OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 2.0.X, FPC 3.0.4)
CPU-Target: x86_64, i386
Wohnort: Bayreuth

Re: Zeilenbreite Quelltexteditor

Beitrag von Ich934 »

Naja die 80 haben noch einen anderen Grund. Die Design Guidelines beziehen sich auf auf den Object Pascal Style Guide. Dort ist definiert (unter "4.4 Continuation Lines"), dass eine Zeile maximal 80 Zeichen lang sein soll.
Lines should be limited to 80 columns. Lines longer than 80 columns should be broken into one or more continuation lines, as needed. All the continuation lines should be aligned and indented from the first line of the statement, and indented two characters. Always place begin statements on their own line.
Ich versuche z.B. diese Guidelines so gut wie möglich umzusetzen. Auch der interne Code Formater (Quelltext -> JEDI Codeformartierer) hilft hier. Dort ist der Umbruch bei 90 Zeichen voreingestellt. Ich verändere das nicht, auch wenn es 10 Zeichen höher ist als die Guideline von Embarcadero vorgibt.
Tipp für PostgreSQL: www.pg-forum.de

Mathias
Beiträge: 4850
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Zeilenbreite Quelltexteditor

Beitrag von Mathias »

Da hat ew noch was, was bei mir nicht komform ist.
Für eine Anweisung / Schleife nehme ich nie eine neue Zeile für das begin.
Nach meiner Meinung Platzverschwendung.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

Ich934
Lazarusforum e. V.
Beiträge: 110
Registriert: So 5. Mai 2019, 16:52
OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 2.0.X, FPC 3.0.4)
CPU-Target: x86_64, i386
Wohnort: Bayreuth

Re: Zeilenbreite Quelltexteditor

Beitrag von Ich934 »

Ja, einerseits schon. Ich persönlich finds übersichtlicher. Aber das auch Geschmackssache... ;-)
Tipp für PostgreSQL: www.pg-forum.de

kupferstecher
Beiträge: 269
Registriert: Do 17. Nov 2016, 11:52

Re: Zeilenbreite Quelltexteditor

Beitrag von kupferstecher »

c77ar hat geschrieben:
Di 5. Mai 2020, 23:14
Oder bin ich da auf dem Holzweg und "trainiere" mir gerade einen unsauberen Stil an?
Wuerde ich schon sagen.
Lange Zeilen sind im Allgemeinen schlecht lesbar. Dann lieber einmal mehr mit einer lokalen Variablen arbeiten.
Es gibt natuerlich Ausnahmen, wo der Zeilenanfang schon aussagekraeftig ist und man den Codeverlauf nicht stoeren moechte (z.B. bei Ausgaben von Fehlermeldungen zwischendrin). Aber der Editor verbietet ja nicht das schreiben hinter der Linie, in so Faellen ueberzieh ich einfach.
Es ist halt so, dass die Grosszahl der Codezeilen schon deutlich kuerzer als 80 Zeichen ist. Durch ein breiteres Fenster gewinnt man effektiv kaum Platz.

Ausserdem, durch ein schmales Editorfenster hat man links und rechts mehr Platz fuer anderes, wie Objektinspektor, Formulare, Suchergebnisse, Dokumentation etc. Was man eben zum Programmieren so braucht. Und da spielt dann auch das chaotische Layout von Lazarus mit den Einzelfenstern seine Staerken aus.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2252
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.8, FPC 3.0.4)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Zeilenbreite Quelltexteditor

Beitrag von m.fuchs »

Mathias hat geschrieben:
Mi 6. Mai 2020, 08:00
Für eine Anweisung / Schleife nehme ich nie eine neue Zeile für das begin.
Nach meiner Meinung Platzverschwendung.
Platzverschwendung ist da nicht das Problem, man kann (besonders in Verbindung mit langen Zeilen) sich eine andere Schwierigkeit einbauen:

Code: Alles auswählen

procedure DeleteOrNot;
begin
  if Condition1 and Condition2 and (MyValue = 244) then DoNothing;
  begin
    DeleteDatabase;
  end;
end;
Aus dem Grund haben wir in unserem internen Codestyle dass ein begin immer schon direkt nach dem then kommt.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Ich934
Lazarusforum e. V.
Beiträge: 110
Registriert: So 5. Mai 2019, 16:52
OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 2.0.X, FPC 3.0.4)
CPU-Target: x86_64, i386
Wohnort: Bayreuth

Re: Zeilenbreite Quelltexteditor

Beitrag von Ich934 »

Ich hab mir zwischenzeitlich angewohnt, regelmäßig mit Strg+D mit JEDI meinen Code einfach formatieren zu lassen. Das hat für mich mehere Vorteile:
  • jedes Programm hat einen einheitlichen Stil
  • die Editorgrenzen werden eingehalten
  • die Empfehlungen umgesetzt
Dann ist es auch mal nicht so schlimm, wenn man mal im Eifer des Gefechts einfach durch schreibt. Das auch bei verschachtelten Abfragen immer wieder mal der Fall.
Tipp für PostgreSQL: www.pg-forum.de

Ich934
Lazarusforum e. V.
Beiträge: 110
Registriert: So 5. Mai 2019, 16:52
OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 2.0.X, FPC 3.0.4)
CPU-Target: x86_64, i386
Wohnort: Bayreuth

Re: Zeilenbreite Quelltexteditor

Beitrag von Ich934 »

m.fuchs hat geschrieben:
Mi 6. Mai 2020, 11:20
Platzverschwendung ist da nicht das Problem, man kann (besonders in Verbindung mit langen Zeilen) sich eine andere Schwierigkeit einbauen:

Code: Alles auswählen

procedure DeleteOrNot;
begin
  if Condition1 and Condition2 and (MyValue = 244) then DoNothing;
  begin
    DeleteDatabase;
  end;
end;
Aus dem Grund haben wir in unserem internen Codestyle dass ein begin immer schon direkt nach dem then kommt.
naja, das wäre auch keine Sache, den mit JEDI und nach den Guidelines wäre das eigentlich so zu schreiben:

Code: Alles auswählen

procedure DeleteOrNot;
begin
  if Condition1 and Condition2 and (MyValue = 244) then
    DoNothing;
  begin
    DeleteDatabase;
  end;
end; 
Problem gelöst und imo auch lesbarer und eindeutiger weil die Aktion die gemacht wird eingerückt wird.
Tipp für PostgreSQL: www.pg-forum.de

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2252
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.8, FPC 3.0.4)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Zeilenbreite Quelltexteditor

Beitrag von m.fuchs »

Genau, die Aktion(en) die ausgeführt werden, sollen eingerückt werden. Ist auch der Fall bei uns, aber das mein Beispiel war ja auch nur eines für schlechte Formatierung.
Abgesehen davon sind ja unnötige begin .. end-Konstrukte sowieso abzulehnen.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 582
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Winux (L 2.0.7 FPC 3.04)
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Zeilenbreite Quelltexteditor

Beitrag von fliegermichl »

m.fuchs hat geschrieben:
Mi 6. Mai 2020, 11:27
Abgesehen davon sind ja unnötige begin .. end-Konstrukte sowieso abzulehnen.
Das schon aber manchmal baut man sich dadurch etwas Sicherheit.

Code: Alles auswählen

if condition1 then
  if condition2 then
    DoSomething
  else if condition3 then
    DoSomethingElse
  else
    DoWhatever;
In so einem Fall würde ich hinter condition1 einen begin end Block schreiben.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2252
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.8, FPC 3.0.4)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Zeilenbreite Quelltexteditor

Beitrag von m.fuchs »

In so einem Fall wären sie ja auch nicht unnötig.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Mathias
Beiträge: 4850
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Zeilenbreite Quelltexteditor

Beitrag von Mathias »

So was ist sowieso blld, auch wen es der Compiler frisst.

Code: Alles auswählen

Begin
  Begin
    Begin
    End;
  End;
End;
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 4138
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Zeilenbreite Quelltexteditor

Beitrag von af0815 »

Blöde Sachen können einer einer Codeänderung schon mal stehen bleiben, dann wird öde. Ich bevorzuge mittlerweile auch 'then begin' und 'else begin'
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten