AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Einrücken ::: ::: Wie rückt ihr ein?
Thema durchsuchen
Ansicht
Themen-Optionen

Einrücken ::: ::: Wie rückt ihr ein?

Offene Frage von "richard_boderich"
Ein Thema von Mydoene · begonnen am 15. Nov 2006 · letzter Beitrag vom 29. Sep 2008
Antwort Antwort
Seite 10 von 11   « Erste     8910 11      
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.838 Beiträge
 
Delphi 10 Seattle Enterprise
 
#91

Re: Einrücken ::: ::: Wie rückt ihr ein?

  Alt 29. Sep 2008, 09:36
Hallo zusammen,
ich finde es immer wieder lustig, wenn man eine Benachitigung zu einem Thema bekommt,
in dem man vor über 2 Jahren etwas geschrieben hat und sich gleich alle drauf stürzen und posten.
Das ist keine negative Kritik - ich finde das gut.
Es zeigt, das die "alten" Beiträge gelesen werden und auch noch heute interesannt sind.

Ich möchte zu dem Thema auf meinen Beitrag von 2006 verweisen, da er immer noch meiner Meinung entspricht:
http://www.delphipraxis.net/internal...=640007#640007

Es ist egal wie man im Editor formatiert, wenn man die Formatierung vor/nach dem abspeichern mit einem CodeFormater bearbeitet. Damit ist gewärleistet, dass der Code immer gleich formatiert ist.
Die CodeFormater kann man ja nach eigenen Wünschen konfigurieren.

Zitat von MichaelLinden:
Die schlimmste Formatierung die ich je gesehen habe sah in etwa so aus:
Delphi-Quellcode:
procedure Button1.Click(Sender: TOBject);
--begin
-----if 1 > 0 then // Leerzeichen rechts und links von
-----begin
-----// Do something
-----end;
-----Label1.Caption := 'Mich gibbet net!// Label auf selbe Höhe wie "if"
--end;
Das ist doch super formatiert.

So was wie ich damals (siehe Link oben) im Beispiel postete, hatt eine Firma, für die ich früher mal arbeitete auch schon mal an einen "guten" Kunden ausgeliefert. Ich musste damals extra einen Obfuicator schreiben, der alle Variablen, Konstanten und Objekte in a1, a2, a3, ... umbenennt. Die Funktionen und Procedure wurden auch in a5, a6, a7, ... umbenannt und alle Kommentare entfernt. Alle Stringkonstanten wurden in einen const Block geschoben und die Konstanten wurden auch a8, a9, a10, ... benannt.
Delphi-Quellcode:
function Foo(a, b, c, d:Integer):Integer; var x, y:Integer; begin If a>b then
{1. If groß} if a * b > c+d then begin {Verschachtelte ifs klein} For x:=0 to
Width-1 do {Das gleiche mit For} for y:=0 to Height-1 do begin Inc(a, 1); Dec
(b, 1); end; end; end;
Dein Code würde dann etwa so aussehen:
Delphi-Quellcode:
...
const a4=1;a5=0;a7='Mich gibbet net!'
...
procedure a1.a2(a3: TOBject);begin if a4>a5 then begin end; a6.Caption:=a7 end;
...
Ist doch auch viel kürzer

Heute würde ich die Namen allerdings _1, _2, _3, ... wählen, ich wusste damals noch nicht das das auch geht
Oder um den Code noch unleserlicher zu machen einfach Schlüsselwörter verwenden und eine Nummer anhängen.
Delphi-Quellcode:
...
const begin4=1;end5=0;if7='Mich gibbet net!'
...
procedure for1.do2(function3: TOBject);begin if begin4>end5 then begin end; exit6.Caption:=if7 end;
...
Mit Kommentaren kann man den Leser noch weiter verwirren. Es eignen sich z.B. nonsens Programmcode oder auch die Lizenzbedingungen. Auf das Liebelingsgedicht würde ich verzichten um nicht gegen das Urheberrecht zu verstoßen.
Delphi-Quellcode:
...
const{a1=2,a2='nonsens'}a4=1;a5=0;a7='Mich gibbet net!'
...
procedure{ein}a1.a2{paar}(a3:{Kommentare}TOBject);begin(*statt*)if//der
a4>a5{Leerzeichen}then{kommen}begin{auch}end;{gut}a6.Caption:=a7{.}end;
...
Viele Grüße
MaBuSE
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#92

Re: Einrücken ::: ::: Wie rückt ihr ein?

  Alt 29. Sep 2008, 09:43
@Mabuse

Warum sollte man den Code unleserlicher machen wollen? Wer den Code nicht haben soll, kriegt ihn nicht. Und Assemblerfreaks
lassen sich davon eh nicht beeindrucken. Es sei denn du redest von Delphi.Net?
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#93

Re: Einrücken ::: ::: Wie rückt ihr ein?

  Alt 29. Sep 2008, 09:48
Du weisst, dass das -zumindest bei einem Werksvertrag- unzulässig ist. Ich würde mir das auch nicht mit Stolz auf die Brust schreiben, was ich für ein toller Kundenverarscher bin.

Du weisst auch, das Du/deine Firma im schlimmsten Fall haftbar gemacht werden kann: Wenn ihr in irgendeiner Weise gegen den Werksvertrag verstößt (z.B. zu hohe Stundensätze verlangt oder allgemein das Abhängigkeitsverhältnis ausnutzt) oder einfach nicht mehr zur Verfügung steht, und Euer Kunde dann zwangsweise eine andere Firma mit der Softwarepflege beauftragen muss, dann dürft Ihr die Extraarbeit bezahlen und im schlimmsten Fall etwaige Schäden des Kunden, die durch die Verzögerung angefallen sind, gleich mit. Ich hätte die Software in dieser Form erst gar nicht abgenommen.

Falls Ihr Euren Kunden bezüglich der Überlassung von Quelltext nicht vertraut, dann gibt andere Möglichkeiten, z.B. Notare oder Online-Dienste, die als Mittelsmann und Quelltexttresor dienen.

Zitat von richard_boderich:
Wer den Code nicht haben soll, kriegt ihn nicht.
Ganz so einfach ist es nicht. Ein Werksvertrag bedingt in jedem Falle die Überlassung des Quelltextes. Man muss im Vertrag die Überlassung explizit ausschließen.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.838 Beiträge
 
Delphi 10 Seattle Enterprise
 
#94

Re: Einrücken ::: ::: Wie rückt ihr ein?

  Alt 29. Sep 2008, 10:18
Zitat von richard_boderich:
@Mabuse: Warum sollte man den Code unleserlicher machen wollen? Wer den Code nicht haben soll, kriegt ihn nicht.
Ganz so einfach ist es nicht.
Eine Firma, für die ich früher mal gearbeitet habe, hatt damals für einen Kunden einen Auftrag programmiert. Obwohl der Kunde nichts bezahlt hat (nicht bezahlen konnte), hat er die Firma via Vertragsbedingungen gezwungen, den Quelltext rauszugeben.
(Der Kunde wusste vor dem Auftrag, dass er nicht zahlen kann.)
Der Quelltext musste nachweislich kompilierbar sein.
Wir haben viel Arbeit in das Projekt gesteckt und waren ziemlich sauer keine Geld dafür zu bekommen.
Aus diesem Grund haben wir den Quellcode quasi unbrauchbar gemacht.
Den Quellcode wieder herzustellen sollte den Kunden so viel Zeit kosten, dass es sich nicht lohnt.

Das war der Rat von unserem Anwalt, da davon auszugehen war, dass der Kunde den Quelltext weiterverkaufen wollte.

Das war völlig legal, und auch in diesem speziellem Fall sinnvoll.
(Es war auch nicht meine Entscheidung, ich war nur der Programmierer, der den Quellcode verunstalten musste.)

Natürlich hat die Firma das sonst noch nie gemacht und gab in der Regel immer vorbildlich formatierten und vor allem gut dokumentierten Quellcode an den Kunden weiter. Eine Kundenbeziehung lebt immer vom geben und nehmen. Man ist ja schließlich an langfristigen Kundenbeziehungen interessiert.

Nachtrag:
Zitat von alzaimar:
Du weisst, dass das -zumindest bei einem Werksvertrag- unzulässig ist. Ich würde mir das auch nicht mit Stolz auf die Brust schreiben, was ich für ein toller Kundenverarscher bin.
Ich kann Dich beruhigen, das geschah alles in Absprache mit einem Anwalt, der sich auf Softwarerecht spezialisiert hatte.
Ich bin nicht Stolz einen Kunden verarscht zu haben, aber ich bin auch nicht Stolz von diesem Kunden verarscht worden zu sein.

[->Ende der Diskussion, da OT]
Wenn jemand was Näheres wissen will, kann er mich gerne per PN anschreiben!!!
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.838 Beiträge
 
Delphi 10 Seattle Enterprise
 
#95

Re: So rücke ich ein

  Alt 29. Sep 2008, 10:36
[equote="MaBuSE schrieb in http://www.delphipraxis.net/internal...=613634#613634 "]...Hier eine Liste von verschiedenen Coding Standards:[/equote]
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#96

Re: Einrücken ::: ::: Wie rückt ihr ein?

  Alt 29. Sep 2008, 11:30
Hallo zusammen,

nachdem ich mich durch die meisten Beiträge gewühlt habe eine Frage:
warum bekommt bei den meisten von euch das begin eine neue Zeile?
Delphi-Quellcode:
if formatrichtig then
begin
  machdas(erste);
  machdaszweite;
end
else
begin
  machwasanderes;
  machsrichtig;
end;
mir gefällt folgende Variante besser:
Delphi-Quellcode:
if formatrichtig then begin
  machdas(erste);
  machdaszweite;
end
else begin
  machwasanderes;
  machsrichtig;
end;
vor allem ohne Syntaxhighlighting!

Vor vielen Jahren gab es mal Zeitschriften, deren Ehrgeiz darin bestand, Sourcen mit möglichst wenig Zeilen zu drucken.
Diese Art von Formatierung wurde genauso vehement verteidigt wie es hier einige mit Ihrer Lieblingsformatierung tun.
Ausserdem gab es mal Compiler, die Blockbildung durch Einrückung (2 oder 4 Blanks, keine Tabs) steuerten!
So etwas kann Vorlieben auch prägen.

Gruß
K-H
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#97

Re: Einrücken ::: ::: Wie rückt ihr ein?

  Alt 29. Sep 2008, 11:35
Zitat von p80286:
warum bekommt bei den meisten von euch das begin eine neue Zeile?
Das hat einen ganz einfachen praktischen grund: Man erkennt sofort auf einen Blick, ob es wirklich ein Codeblock, oder nur eine einzelne Zeile ist.

Beispiel:
Delphi-Quellcode:
if (DasHierIstEinLangerBoolscherAusdruckMitEinemSprechendenNamen and NochEinLangerAusdruck) then
  DoSomething();
DoWasAnderes();
Delphi-Quellcode:
if (DasHierIstEinLangerBoolscherAusdruckMitEinemSprechendenNamen and NochEinLangerAusdruck) then begin
  DoSomething();
DoWasAnderes();

// einize andere Zeilen
end;
Wenn Du, wie im zweiten Beispiel, das Begin hinten hast und nicht auf einer neuen zeile, und dann darunter
noch einen Einrückungsfehler wie bei DoWasAnderes(), dann kann man sich ungeheuer schnell verlesen. Ein

Delphi-Quellcode:
if (DasHierIstEinLangerBoolscherAusdruckMitEinemSprechendenNamen and NochEinLangerAusdruck) then
begin
  DoSomething();
DoWasAnderes();

  // einize andere Zeilen
end;
Ist um längen klarer und zeigt auch gleich, dass man einen Einrückungsfehler hat.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#98

Re: Einrücken ::: ::: Wie rückt ihr ein?

  Alt 29. Sep 2008, 11:36
Zitat von p80286:
warum bekommt bei den meisten von euch das begin eine neue Zeile?
Weil CodeGear das so vorgibt.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#99

Re: Einrücken ::: ::: Wie rückt ihr ein?

  Alt 29. Sep 2008, 11:41
Und man das schon zu TurboPascal-Zeiten so gemacht hat.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.838 Beiträge
 
Delphi 10 Seattle Enterprise
 
#100

Re: Einrücken ::: ::: Wie rückt ihr ein?

  Alt 29. Sep 2008, 11:46
Zitat von alzaimar:
Zitat von p80286:
warum bekommt bei den meisten von euch das begin eine neue Zeile?
Weil CodeGear das so vorgibt.
gute Antwort ( -> http://dn.codegear.com/article/10280#4.3 )

Ich halte mich auch an die Empfehlung von Borland.

Man kann in jedem beliebeigen Editor (wenn die Einrückung durchgehend ist) vor das e von end gehen und mit der "Nach Oben"-Taste das zugehörige begin suchen (und auch finden).
Das geht eigentlich immer außer bei try und case aus diesem Grund schreibe ich meist auch
Delphi-Quellcode:
...
  try
    case x of
      1: Eins;
      2: Zwei;
      3: Drei;
    else
      Rest;
    end; //of case
  except
    on E: Exception do
    begin
      ...
    end;
  end; // of try..except
...
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 10 von 11   « Erste     8910 11      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz