Ordnung beim Coden?

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben
Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2639
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: .[Gelöst] ReadString läd keine Werte

Beitrag von m.fuchs »

Maik81ftl hat geschrieben:Aber sagt man nicht auch! erst das Programm voll zum laufen bringen und denne Optimieren???

Ja, das ist durchaus korrekt. Aber Optimieren <> sauberen Code schreiben. Ohne den wird es mit dem Optimieren nämlich recht schwer.

Übrigens zu deiner Frage wie man den Code formatiert: Da gibt es beispielsweise einen Styleguide für Delphi (http://edn.embarcadero.com/article/10280), den man durchaus auch einmal lesen kann.
Ich versuche mich daran möglichst zu orientieren, nur bei bestimmten begin..end; - Konstrukten weiche ich ab. Mir ist das lieber:

Code: Alles auswählen

if Blafasel then begin
  DoSomething;
  DoSomethingOther(1);
end;


Micha
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: .[Gelöst] ReadString läd keine Werte

Beitrag von pluto »

Ich versuche mich daran möglichst zu orientieren, nur bei bestimmten begin..end; - Konstrukten weiche ich ab. Mir ist das lieber:

Geht mir auch so. Ich kann dieses

Code: Alles auswählen

if .... then
begin
end
einfach nicht ab. Das ist einfach zu Unübersichtlich. In einigen Fällen schreibe ich sogar mehrere Anweisungen in einer Zeile. Z.b. wenn ich Variablen Installisiere.
MFG
Michael Springwald

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: .[Gelöst] ReadString läd keine Werte

Beitrag von Maik81ftl »

pluto hat geschrieben:
Ich versuche mich daran möglichst zu orientieren, nur bei bestimmten begin..end; - Konstrukten weiche ich ab. Mir ist das lieber:

Geht mir auch so. Ich kann dieses

Code: Alles auswählen

if .... then
begin
end
einfach nicht ab. Das ist einfach zu Unübersichtlich. In einigen Fällen schreibe ich sogar mehrere Anweisungen in einer Zeile. Z.b. wenn ich Variablen Installisiere.


also ich muß sagen, das ich mit dem "mehrere Anweisung in eine Zeile schreiben" kann seine Vorteile haben, Aber ich verwende diese if then wenn möglich immer so

Code: Alles auswählen

Procedure Z1(bValue: Boolean; Farben: TProgSet);
begin
  if bValue then
    begin
    with Form3.Image1 do
      begin
      .
      .
      end;
    end;
end;
da weiß ich immer, ob ich alle "End;" drinne habe und wo der anfang bzw das ende ist.

bei

Code: Alles auswählen

Procedure Z1(bValue: Boolean; Farben: TProgSet);
begin
  if bValue then begin
    with Form3.Image1 do
      begin
      .
      .
      end;
    end;
end;
verliere ich zu schnell den Überblick. :| Aber sollte ja am ende jeder für sich entscheiden, wie er schreibt.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

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

Re: .[Gelöst] ReadString läd keine Werte

Beitrag von m.fuchs »

Hm, deine Methode des Einrückens ist ja nun ganz seltsam. Bei dir wird (teilweise nur) das begin..end eingerückt und die inneren Anweisungen liegen damit gleichauf.
Nimm es nicht persönlich aber das ist wirklich bäääääääh.

Micha
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: .[Gelöst] ReadString läd keine Werte

Beitrag von Maik81ftl »

m.fuchs hat geschrieben:Hm, deine Methode des Einrückens ist ja nun ganz seltsam. Bei dir wird (teilweise nur) das begin..end eingerückt und die inneren Anweisungen liegen damit gleichauf.
Nimm es nicht persönlich aber das ist wirklich bäääääääh.

Micha


ich weiß, hab ich schon das ein oder andere mal gehört, aber wenn ich so den Überblick behalte, warum nicht.

nur ob ich mit der Variante

Code: Alles auswählen

Procedure Z1(bValue: Boolean; Farben: TProgSet);
begin
  if bValue then
  begin
    with Form3.Image1 do
    begin
      .
      .
    end;
  end;
end;
besser klarkomme muß ich mal sehen. Habe dies aber auch schon oft gesehen. :D
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

baba
Beiträge: 265
Registriert: Mi 4. Apr 2007, 17:47

Re: .[Gelöst] ReadString läd keine Werte

Beitrag von baba »

... das ist alles eine Ansichtssache und sollte jeder so machen wie er es gewohnt ist.

Da die Anzahl der Zeilen auf dem Bildschirm begrenzt ist, versuche ich den Code compact zu halten, um möglcht viel auf einmal zu sehen.

Code: Alles auswählen

Procedure Z1(bValue: Boolean; Farben: TProgSet);
begin
  if bValue then
  begin
    with Form3.Image1 do
    begin
      .
      .
    end;
  end;
end;


sähe bei mir wie folgt aus:

Code: Alles auswählen

Procedure Z1(bValue: Boolean; Farben: TProgSet);
begin
   if bValue then begin
      with Form3.Image1 do begin
      .
      end; // WENN UNÜBERSICHTLICH MIT KOMMENTAR
   end; // if bValue
end;


Baba.

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Strukurierung von Schleifen und Abfragen

Beitrag von Maik81ftl »

auch keine schlechte Idee.

Bitte mal um verschiebung dieses Themas nach Dies und Das. DANKE
Zuletzt geändert von Lori am Do 7. Apr 2011, 21:02, insgesamt 1-mal geändert.
Grund: Bitte erfüllt.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

baba
Beiträge: 265
Registriert: Mi 4. Apr 2007, 17:47

Re: Strukurierung von Schleifen und Abfragen

Beitrag von baba »

Maik81ftl hat geschrieben:auch keine schlechte Idee.

Bitte mal um verschiebung dieses Themas nach Dies und Das. DANKE


Ich habe mich auch schon gefragt wie Du auf "Multimedia" kommst.

Baba.

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: Strukurierung von Schleifen und Abfragen

Beitrag von Maik81ftl »

baba hat geschrieben:
Maik81ftl hat geschrieben:auch keine schlechte Idee.

Bitte mal um verschiebung dieses Themas nach Dies und Das. DANKE


Ich habe mich auch schon gefragt wie Du auf "Multimedia" kommst.

Baba.


beim Ursprungsthema ReadString läd keine Werte ging es noch um Kombonenten. Thema ist erst im laufe des Tages geswitcht. :D
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Ordnung beim Coden?

Beitrag von MAC »

zur übersichtlichkeit.
Ich überleg manchmal 2 tage lang nur wie ich ein programm schreibe, ganz extrem- wie übergebe ich variabelen in einen String. am anfang hab ich einen Trennstrich benutzt "/" - das wurde dann später aber nicht mehr erweiterbar - spätestens wenn ein trennstrich im eigentlichen text vorkam hatte man verloren- jetzt ist das alles xml-ähnlich aufgebaut <s<Hello>s<World>>

Mein Code ist (meiner Meinung nach) logisch aufgebaut.
Ich mache eine Einrückung vor einem Begin block; Der Code darin ist auf der gleichen ebene...

Code: Alles auswählen

Procedure Z1(bValue: Boolean; Farben: TProgSet);
begin
if bValue then // keine einrückung am anfang
   begin
   with Form3.Image1 do
      begin
      .
      .
      end;
    end
   else // else um ein block nach links verschoben , damit es etwas auffällt :)
    begin
    .
    .
    end;
end;

Code: Alles auswählen

Signatur := nil;

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: Ordnung beim Coden?

Beitrag von Maik81ftl »

Jo der macht durchaus sin.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Ordnung beim Coden?

Beitrag von pluto »

Ich überleg manchmal 2 tage lang nur wie ich ein programm schreibe, ganz extrem-

Ach, dir geht das auch so? Ich Überlege sehr häufig, wie ich etwas umsetzten soll und dann Fällt es mir auf einmal ein. und die Lösung ist in der Regel einfacher als ich Gedacht habe. Aber am meisten Fange ich immer wieder von Vorne an. Nach dem Motto: Zwei Schritte Nach von, drei Schritte zurück *G*.
MFG
Michael Springwald

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Ordnung beim Coden?

Beitrag von MAC »

pluto hat geschrieben:Nach dem Motto: Zwei Schritte Nach von, drei Schritte zurück *G*.

:D :D
ja, das ist einfach so, das ich mir gerade bei projekten die universal einsetzbar seien soll, also auch leicht erweritert werde sollen, ausdenken muss wie man das jetzt (am einfachsten) löst...

Code: Alles auswählen

Signatur := nil;

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Ordnung beim Coden?

Beitrag von pluto »

ja, das ist einfach so, das ich mir gerade bei projekten die universal einsetzbar seien soll, also auch leicht erweritert werde sollen, ausdenken muss wie man das jetzt (am einfachsten) löst...

Ja, dass ist immer das größte Problem. Ich möchte den Code auch noch nach Monaten verändern können, ohne mir eine nicht vorhandene Dokumentation durchlesen zu müssen *G*.
MFG
Michael Springwald

Lannes
Beiträge: 13
Registriert: Mo 16. Nov 2009, 22:14
OS, Lazarus, FPC: Windows XP, D3..D2010, Lazarus
CPU-Target: 32 Bit

Re: .[Gelöst] ReadString läd keine Werte

Beitrag von Lannes »

Maik81ftl hat geschrieben:also ich muß sagen, das ich mit dem "mehrere Anweisung in eine Zeile schreiben" kann seine Vorteile haben, Aber ich verwende diese if then wenn möglich immer so

Code: Alles auswählen

Procedure Z1(bValue: Boolean; Farben: TProgSet);
begin
  if bValue then
    begin
    with Form3.Image1 do
      begin
      .
      .
      end;
    end;
end;
da weiß ich immer, ob ich alle "End;" drinne habe und wo der anfang bzw das ende ist.


Endlich mal jemand der hier in diesem Thread den Code vernünftig formatiert. :D

Hatte schon die Befürchtung das jemand so einen ähnlichen Vorschlag macht:

Code: Alles auswählen

Procedure Z1(bValue: Boolean; Farben: TProgSet);
begin
  if bValue then begin with Form3.Image1 do begin
    foo;foo2;foo3;x:=0;y:=0;end;end;
end;

so kann man viel Platz sparen :mrgreen:
(Nichts ist nicht Nichts) and (''<>nil)and(Pointer('')=nil)and(@('')<>nil)

Antworten