Ordnung beim Coden?

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben

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

Beitragvon m.fuchs » 7. Apr 2011, 16:11 Re: .[Gelöst] ReadString läd keine Werte

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
m.fuchs
Lazarusforum e. V.
 
Beiträge: 2144
Registriert: 22. Sep 2006, 18:32
Wohnort: Berlin
OS, Lazarus, FPC: Winux (Lazarus 2.0, FPC 3.0.4) | 
CPU-Target: x86, x64, arm
Nach oben

Beitragvon pluto » 7. Apr 2011, 16:19 Re: .[Gelöst] ReadString läd keine Werte

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
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7023
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

Beitragvon Maik81ftl » 7. Apr 2011, 16:29 Re: .[Gelöst] ReadString läd keine Werte

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
Maik81ftl
 
Beiträge: 619
Registriert: 9. Mär 2011, 16:34
Wohnort: seit 01.06.2011 in Wahlstedt
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4) | 
CPU-Target: 64Bit
Nach oben

Beitragvon m.fuchs » 7. Apr 2011, 16:40 Re: .[Gelöst] ReadString läd keine Werte

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
m.fuchs
Lazarusforum e. V.
 
Beiträge: 2144
Registriert: 22. Sep 2006, 18:32
Wohnort: Berlin
OS, Lazarus, FPC: Winux (Lazarus 2.0, FPC 3.0.4) | 
CPU-Target: x86, x64, arm
Nach oben

Beitragvon Maik81ftl » 7. Apr 2011, 16:50 Re: .[Gelöst] ReadString läd keine Werte

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
Maik81ftl
 
Beiträge: 619
Registriert: 9. Mär 2011, 16:34
Wohnort: seit 01.06.2011 in Wahlstedt
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4) | 
CPU-Target: 64Bit
Nach oben

Beitragvon baba » 7. Apr 2011, 17:01 Re: .[Gelöst] ReadString läd keine Werte

... 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.
baba
 
Beiträge: 266
Registriert: 4. Apr 2007, 16:47

Beitragvon Maik81ftl » 7. Apr 2011, 17:06 Strukurierung von Schleifen und Abfragen

auch keine schlechte Idee.

Bitte mal um verschiebung dieses Themas nach Dies und Das. DANKE
Zuletzt geändert von Lori am 7. Apr 2011, 20: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
Maik81ftl
 
Beiträge: 619
Registriert: 9. Mär 2011, 16:34
Wohnort: seit 01.06.2011 in Wahlstedt
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4) | 
CPU-Target: 64Bit
Nach oben

Beitragvon baba » 7. Apr 2011, 17:33 Re: Strukurierung von Schleifen und Abfragen

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.
baba
 
Beiträge: 266
Registriert: 4. Apr 2007, 16:47

Beitragvon Maik81ftl » 7. Apr 2011, 19:26 Re: Strukurierung von Schleifen und Abfragen

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
Maik81ftl
 
Beiträge: 619
Registriert: 9. Mär 2011, 16:34
Wohnort: seit 01.06.2011 in Wahlstedt
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4) | 
CPU-Target: 64Bit
Nach oben

Beitragvon MAC » 7. Apr 2011, 22:15 Re: Ordnung beim Coden?

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;
MAC
 
Beiträge: 770
Registriert: 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2) | 
CPU-Target: 32Bit
Nach oben

Beitragvon Maik81ftl » 7. Apr 2011, 22:21 Re: Ordnung beim Coden?

Jo der macht durchaus sin.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D
Maik81ftl
 
Beiträge: 619
Registriert: 9. Mär 2011, 16:34
Wohnort: seit 01.06.2011 in Wahlstedt
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4) | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 8. Apr 2011, 12:52 Re: Ordnung beim Coden?

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
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7023
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

Beitragvon MAC » 8. Apr 2011, 14:06 Re: Ordnung beim Coden?

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;
MAC
 
Beiträge: 770
Registriert: 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2) | 
CPU-Target: 32Bit
Nach oben

Beitragvon pluto » 8. Apr 2011, 17:07 Re: Ordnung beim Coden?

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
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7023
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

Beitragvon Lannes » 9. Apr 2011, 23:00 Re: .[Gelöst] ReadString läd keine Werte

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)
Lannes
 
Beiträge: 13
Registriert: 16. Nov 2009, 22:14
OS, Lazarus, FPC: Windows XP, D3..D2010, Lazarus | 
CPU-Target: 32 Bit
Nach oben

» Weitere Beiträge siehe nächste Seite »
VorherigeNächste

Zurück zu Dies und Das



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried