Re: guter stil????
Hi,
ich glaube du hast nicht ganz verstanden, worauf ich hinaus will. Ich habe die letzten 3 Jahre auf einem 15"-Monitor gearbeitet und da ist jede Zeile mehr ein großer Vorteil. Mittlerweile habe ich einen 21"-Monitor und das Problem ist nicht mehr so gravierend. Aus Gewohnheit verwende ich jedoch weiterhin meine Einrückungen, es liest sich für mich einfach flüssiger, denn ich sehe ja anhand der Einrückungen sofort, wo ein neuer Block/ein entgegengesetzter Block (else) anfängt beziehungsweise aufhört. Schade eigentlich, dass Delphi das nicht so sieht, sondern durch begin und end mitgeteilt haben will ;). Dass man Teilprobleme behandeln soll ist absolut korrekt und ich bemühe mich auch immmer, das so zu machen. Trotzdem gibt es bei mir zum Beispiel Units, die viele solcher Funktionen enthalten, die ich abschließend noch mal überfliege um zu schauen, ob sich da nicht doch noch irgendetwas optimieren lässt oder Fehler vorhanden sind. Da brauch ich nicht alle Zeilen noch mal durchzulesen, sondern kann, wenn alles so geschrieben ist, wie ich es logisch finde, einfach durchscrollen... Übrigens: Kennt ihr Programme wie "indent" (auf Linux nur glaub ich)? Die lassen einen seinen Stil einmal einstellen und anschließend kann man sie über den Quelltext laufen lassen und die erledigen alle Einrückungen/Leerzeichen/wasauchimmer. Fände ich sehr praktisch, wenn man viel mit fremdem Sourcecode arbeiten muss und den schnell und einfach an seine Gewohnheiten anpassen will. Oder um das Tabstop-Problem aus der Welt zu schaffen. Oder für Newbies, die noch nicht das ganze Styleguide kennen/sich merken können ;). cu |
Re: guter stil????
@secure: Gibt es längst für Delphi: DelForEx, Jedi Code Formatter etc.
Ich habe Deinen Diskurs mit negAH verfolgt und muss Dir attestieren, das Du bedingt beratungsresistent bist. Dein Code zeigt, das Du nich nicht allzu lange programmierst. Das erkennt man an teilweilse sehr umständlichen Formulierungen. Und das widerum widerspricht Deiner Behauptung, kompakten Code schreiben zu wollen. Weiterhin fehlt das Bestreben zur Codeoptimierung. Das ist verständlich, wenn man noch nicht so lange programmiert. Dann sollte man sich aber von so einem 'alten Hasen' wie negaH ruhig etwas erklären lassen ohne gleich pavlovartig eine Abwehrhaltung einzunehmen. Deine Ausführungen bezüglich Programmieren/Mathematiker sowie Delphi/Pascal zeugen von einer wirklich fehlenden Erfahrung und Weitsicht. Jeder Programmierer, Softwareentwickler, Softwaretechniker, Projektleiter etc. sollte über den Tellerrand schauen bzw. sich zumindest in der Historie der Informatik auskennen. Da macht es wirklich keinen Unterschied, ob man Informatiker oder Programmierer ist. Auch als Tischler / Hobbytischler sollte man sich mit Holz, der Geschichte der Werkzeuge und des Handwerks an sich auskennen. Nur so kommt man zu optimalen Ergebnissen, weil man nur mit dem Wissen der Vergangenheit seinen eigenen Horizont erweitern und die eigene Leistung optimieren kann. Wenn Du aber auf dem Standpunkt beharrst, ein Programmierer sei kein Informatiker, das ist diese Aussage ein Denkmal deines Anspruches an dich selbst. |
Re: guter stil????
Zitat:
Aber ehrlich gesagt, werdet ihr mir hier schon zu persönlich. Ursprünglich ging es um CodeDesign, jetzt seit ihr bei den Programmieransichten von secure. |
Re: guter stil????
Zitat:
1. secure = Programmierer 2. secure <> Mathematiker 3. Mathematiker <> Programmierer 4. Mathematiker ! <> Informatiker 3 belegt 1+2 aber auch: 5. secure <> Informatiker Zur 'persönlichen Wendung': Ich dachte, secure hatte den Thread mit einer persönlichen Frage eröffnet. :wall: Stimmt ja nicht ganz. War ja Mr.Pink. Dessenungeachtet sind (finde ich) meine Äußerungen zwar an secure gerichtet, aber nicht 'persönlich', also das man sich auf den Schlips getreten fühlen muss. Oder so. Ess ist nur so, das solche eine Beratungsresistenz zwar jedem sein Plaisir ist, aber dennoch sei die Bemerkung erlaubt, das der Horizont durchaus erweiterungswürdig sei. Na ja, vielleicht etwas scharf formuliert. Wie gesagt, im Kontext meiner fälschlichen Annahme, Secure hätte eine Frage bezuglich seines Stils gestellt und verweigert sich dann jedoch sachlicher Kritik. |
Re: guter stil????
Zitat:
Im zweiten, wesentlich besseren beispiel kann man sehr schön und deutlich erkennen das es 4 sequientielle Abhänigkeiten gibt. Der 4'te Source block wird nur ausgeführt wenn der 3'te UND 2'te UND 1'te Sourceblock NICHT ausgeführt werden. Formal also if not (Block1 and Block2 and Block3) then Block4. Das ist im ersten Beipiel definitiv nicht visuell zu erkennen. Dieser Beispiel könnte auch eine CASE Anweisung darstellen. Also eine Auswahl von 4 Möglichkeiten bei der immer 1 Möglichkeit mit gleichhoher Wahrscheinlichkeit wie die anderen 3 zutreffen können. Zudem: syntaktische Sprachbezeichner schreibt man immer klein und da wir nicht in Deutsch programmieren gelten auch nicht die deutschen Rechtschreibregeln ;) Desweiteren ist eine spätere Veränderung der Verschachtelungen sehr einfach möglich. Gesetzt den fall das man im 2'ten Block noch eineiges an Precomputing reinbauen möchte, also gemeinsamme Variablen initialisieren möchte dann sieht das so aus:
Delphi-Quellcode:
Die gesamtstruktur bleibt erhalten, was auch logisch ist da das objige Konstrukt nur ein reduzierte Kurzform der vollständigen Systax ist:
if ... then
begin ...; end else if ... then begin ...; end else begin Variable := XYZ; if ... then begin ...; end else begin end; end;
Delphi-Quellcode:
Die Kurzschreibweise ist also eine reine Reduktion von begin end blöcken per Löschen von Zeilen. Eine Expansion einer Kurzschreibweise sollte nur durch einfügen von begin end Blöcken wieder auf die offiziell richtige Schreibweise zurückführen (mit Außnahmen wie immer ;) )
if ... then
begin ...; end else begin if ... then begin ...; end else begin if ... then begin ...; end else begin end; end; end; Gruß Hagen |
Re: guter stil????
Delphi-Quellcode:
Das Hochziehen des ELSE gleich nach dem END halte ich für absolut zulässig. Einfach weil in diesem Fall garnicht die Möglichkeit besteht in diesen Zeilen noch anderen Code zu schreiben. Das ist syntaktisch nicht möglich und führt zu einem Compilierfehler.
begin
...; end else begin end; Desweiteren kann es praktisch kein doppeltes begin end auf gleicher Einrückung geben. Die einzisgte Ausnahme wäre ein überflüssiges begin end im Sourcecode ohne vorherige bedingte Verzweigung. Ein Source der sowas macht ist mir aber noch nie unter die Augen gekommen. Ergo können wir das else ohne Probleme hochziehen und erhöhen damit die Lesbarkeit indem wir aufs Wesentliche kommmen. Gruß Hagen |
Re: guter stil????
Hallo,
ist es eigentlich jemanden aufgefallen, dass mr. pink sich schon längst aus diesem thread verabschiedet hat? Die Anfangsfrage galt dem style eines delphi-programms und nicht dem inhalt. @mr. pink: hier findest du einen style-guide für delphi. |
Re: guter stil????
Mir ist aber auch aufgefallen das DU noch mitliest ;) Ich leite davon ab das es auch viel andere Leser der DP gibt die sich für das gleiche Thema interessieren. Deine Bemerkung zielt also darauf ab das Andere nicht das recht hätten auch was aus diesem Thread für scih ziehen zu dürfen, schade eigentlich.
Und ja, es geht immer um inhaltliche Fragen bei der Programmierung auch wenn es nur die äußere Form des Source betrifft. Denn Form ohne Inhalt ist sinnlos, aber Inhalt in gute Form gebracht ist besser verkaufbar. Gruß Hagen |
Re: guter stil????
Hallo!
Bei mir würde das so aussehen:
Delphi-Quellcode:
Man kann sich ja immer einen eigenen Stil angewöhnen, aber wenn man in eine Firma kommt, bei der es einen Standard gibt, ist der eigene Stil hinfällig. :mrgreen:
if ... then
begin ...; end else begin if ... then begin ...; end else begin if ... then begin ...; end else begin end; end; end; MfG freak |
Re: guter stil????
Zitat:
|
Re: guter stil????
Also ich mach mir da garnicht sooo viele Gedanken drüber :lol: ... ich tippe meinen Code einfach so runter mach meine Kommentare dazwischen und lass dann DelForEx drüber laufen. Da bekomm ich den Code so formatiert, wie ich es will ohne großartig drüber nachdenken zu müssen.
In anderen Programmiersprachen/-Umgebungen werden Einrückungen automatisch gemacht, das sollte in Delphi IMHO auch eingeführt werden :zwinker: |
Re: guter stil????
Zitat:
Zitat:
Zitat:
Zitat:
Aber, es wird hier im forum so oft vom thema abgeschweift, dass oftmals die eigentliche frage in den hintergrund rückt. nicht umsonst heisst eine regel hier im forum "neue frage neuer thread". daher würde ich hier in diesem beispiel abstand von dem logischen inhalt des codes absehen, da nur die form gefragt war. sicherlich gehen deine und manch andere ausführungen in richtung "Form ohne Inhalt ist sinnlos" und sind auch fundiert. ich denke das das nur in einem anderen thread besser aufgehoben wäre. grüße aus f rené |
Re: guter stil????
Hi,
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
cu |
Re: guter stil????
Zitat:
Zitat:
Was aber kann ein Computer? Er kann vom Prinzip her ausschliesslich Nullen und Einsen addieren. Das kann er zwar verdammt schnell, aber Dein Computer ist ein reiner Berechner (heisst ja auch so). Das bedeutet Du musst Deine Probleme erstmal Mathematisch formulieren damit Dein Rechner sie auch versteht und lösen kann. Ich war in der Schule auch nicht wirklich gut in Mathe und habe mein Abi nur deswegen bestanden weil unser Jahrgang im Land einen Bonuspunkt in Mathe bekommen hat weil das offenbar zu schwer war. Inzwischen - ich habe eine Ausbildung zum Informatiker hinter mir und studieren gerade Angewande Informatik - merke ich immer mehr, das mir die inzwischen angeeignete Mathe (bei meinen Profs macht mir das inzwischen tatsächlich Spass) die ganze Softwareentwicklerei um ein vielfaches vereinfacht. Gewöhne Dich also lieber jetzt an den Gedanken das Programmierung nichts anderes ist als eine bestimmte Schreibweise für Mathematik - und wenn Du das nicht willst stelle Dich drauf ein nie ein guter Programmierer werden zu können. Das mag jetzt hart klingen, es ist aber so. |
Re: guter stil????
Zitat:
Mathematiker sind gut um neue Algorithmen zu entwickeln, für Kryptographie gibt es wohl keine besseren, um naturwissenschaftliche Vorgänge abzubilden werden wir sie immer brauchen. Aber für die reinen betriebswirtschaftlichen Prozesse, diese machen immerhin über 95% aller Softwareenticklungen aus, sind andere Gruppen oft viel geeigneter. ...:cat:... P.S.: Zitat:
|
Re: guter stil????
Zitat:
Dem kann ich nur zustimmen :) Allerdings vielleicht ein bischen anders formuliert. Theoretiker sind schlechte Programmierer, das schliest auch studierte Informatiker mit ein die die Informatik rein theoretisch gelernt haben, also nicht diejenigen die auch im privaten praktisch permanent programmieren. Das liegt eben auch daran das Programmieren eher wie ein Handwerk funktioniert, es im Grunde ein Handwerk ist, wie zb. Steinmetz, Schriftsteller etc. pp. Aber ich kenne auch im besonderen Mathematiker die super gute Programmierer sind, weil sie eben auch im privaten Programmierng als Handwerk betreiben ! Man kann es also nicht pauschalisieren und alles über einen Kamm scheren. Eines steht aber fest: Logik. Die Logik selber ist ein Gebiet der Mathemtik und Programmierer arbeiten mit vollkommen logischen Maschinen und sollten auch immer auf Logik basierende Programme schreiben. Egal ob das Programme der Betriebswirtschaftslehre sind, oder Musikprogramme etc.pp. Ergo: ein bischen Mathematik, wenn auch nur im übrtragenem Sinne wird immer benötigt. Gruß Hagen |
Re: guter stil????
Hi,
natürlich wird Mathematik im übertragenden Sinne benötigt, hier hat Hagen recht. Sich gleich ein anderes Hobby zu suchen halte ich für übertrieben. Eine Freundin von mir arbeitet im Reisebüro und verkauft demnach viele Flüge. Ein Flugzeug löst auch ein Problem, nämlich schnell von Ort A nach Ort B zu kommen. Trotzdem ist die Technik hinter einem Flugzeug und die Methoden, die dorthin geführt haben, für die meisten Anwender aber auch Verkäufer uninteressant (Ausnahmen bestätigen die Regel). Für mich ist weniger interessant, wieso welche Schaltkreise nun so oder so arbeiten - ich bin am Lösen des Problems durch Programmieren interessiert. Hier ist sowohl Kreativität als auch Logik gefragt, ich denke, dass es wie so oft der Kompromiss aus beidem ist, der das Optimum darstellt. cu |
Re: guter stil????
Hi secure:
Man muss nicht *gut* in Mathe sein, um gute Software entwickeln zu können. Ich hatte in der Schule immer eine 3-4 und an der Uni bin ich mit Ach und Krach durch die Prüfungen gerutscht. Jetzt bin ich 42 und bin heilfroh, das ich vor 10 Jahren, als ich dann nochmal ein bisserl studiert habe, auf Graphentheorie und Compilerbau umgeschwenkt bin. Dort geht es nur um Mathematik, aber nicht um irgendwelche Integrale, Differenzialgleichungen, die ich sowieso nicht drauf habe, sondern um die Mathematik in ihrer eigentlichen Form: Dem korrekten Herleiten und Beweisen von Verfahren. Ob ich dann mit Chebychev oder Markov hantiere, oder eben eine vollständige Induktion (=Rekursion !!EINS!!ELF!!) aus dem Ärmel schütte, ist s-c-h-n-u-r-z, wirklich. Wichtig ist, das nur ein guter Mathematiker (im ursprünglichen Sinne) auch ein guter Softwareentwickler sein KANN. Es geht nicht anders. Ich kann mir nicht vorstellen, das Du zu blöd für Mathe bist. Kein Bock, ja. Keine Affinität zu Zahlen oder Formeln. Yo. Aber trotzdem bist du ein Mathematiker, zumindest solltest Du einer sein. Kaum eine Codezeile (Remarks einmal ausgenommen) kommt ohne Mathematik aus. Was ist naheliegender, als sich mit selbiger von einem anderen Standpunkt als dem Kodieren zu beschäftigen. Anderes Beispiel: Was hat SQL mit Mengenlehre zu tun? ALLES! Wer SQL als Mengenlehre (=Mathematik) begreift, hat schon gewonnen! Wer SQL aus der Sicht eines Programmieres sieht, hat schon verloren! Auch das Verständnis für komplexe (=langsame) oder performante Algorithmen geht ohne Mathematik nicht. Ich muss meinen Algo ja nicht ausrechnen, aber das Verständnis für Komplexitätsberechnung hilft ungemein, gute Algorithmen zu entwickeln. |
Re: guter stil????
Ich hab vieles bezüglich Programmieren und Software-Entwicklung zu einem Tei schon während der Schulzeit durch eigene Nachforschungen und Ausprobieren kennengelernt. Doch seit ich zu diesen Sachen im Studium die, oft mathematischen, Hintergründe erfahren habe, fallen mir viele Dinge leichter. Bezüglich SQL kann ich alzaimar unbedingt zustimmen: Man kann damit arbeiten, wenn man von Relationenkalkül, relationaler Algebra und Normalisierung noch nix gehört hat, aber es ist ungleich schwerer.
|
Re: guter stil????
Zwischendrin hat sich auch noch ein schlechter Stil eingeschlichen :
Zitat:
Delphi-Quellcode:
wird bei vertauschtem a und b auch der beste Quelltext-Formatierer und auch der Compiler nichts mehr machen können. Wird da jetzt aber ein begin vergessen, so kann man schön die ends von unten nach oben durchgehen, sieht zu welchem if sie gehören und sieht das fehlende begin sofort. Deshalb ziehe ich das begin eben auch hoch in die if, while usw. Zeile. Die erwähnte Prozedur mit 500 Zeilen hat übrigens nur 130. 500 hat die Unit. Die Prozedur selber (OnKeyPress, Stringgrid) läßt sich sinnvoll nicht weiter zerlegen. Die Spalten haben verschiedene Typen und die kann ich eben nur im OnKeyPress sauber auf Eingabefehler überprüfen. Es wird dadurch auch keinem gelingen, durch Falscheingabe eine Exception zu erzeugen.
if b then begin
if a then begin |
Re: guter stil????
Hi alzaimar,
Zitat:
Zitat:
Zitat:
Vielleicht hilft einigen Leuten die Mathematik beim Programmieren, ich tendiere dazu, mir meine eigenen Gedankenkonstrukte aufzubauen... cu |
Re: guter stil????
Ach Gott, meine Herren!
Ich habe 20 Jahre lang meinen Code per Hand eingerückt, weil ich auf deibel komm raus bestimmte Codeformatierungen wollte (hängende ends etc.) Dann war's mir zu bunt, immer den Code meiner Sklaven per Hand formatieren zu müssen. Also hab ich mir dann DelForExp installiert und lebe nun damit, das von meinen 100 Styleguides nur 95 umgesetzt werden können. Davon werden meine Programme nun wirklich nicht schlechter. Ich habe nur bemerkt, wie viel Zeit ich mit dem Handoptimieren meines Codelayouts verplempere. Eine Zeit, die ich nun 'sinnvoll' nutze, um in Delphi-Foren meinen Sempf dazugeben zu können. Ehrlich, wer meint, nur handgebissener Code sei gut, dem fehlt das Augenmaß. @secure: Deine Definition eines Mathematikers deckt sich mit meiner eines Fachidioten. Aber DU bist nunmal Mathematiker, auch wenns Dir nicht passt :mrgreen: . Eine methodische Herangehensweise mit Hintergrundwissen hat noch nie geschadet. Natürlich ist es letztendlich auf deinem Mist gewachsen. Was die Sache mit SQL-Datenbanken anbelangt, kann ich dir versichern, das deine Herangehensweise mit an Sicherheit grenzender Wahrscheinlichkeit nicht die Performance bringt, die in guten DBMS steckt. Man kann SQL schnell so formulieren, das es Ergebnisse liefert. Aber das die Ergebnisse schnell kommen, ist nicht ganz so trivial. Vor allen Dingen dann nicht, wenn man eine DB mit 40.000.000 Einträgen hat. |
Re: guter stil????
Hi,
Zitat:
Zitat:
cu |
Re: guter stil????
Ach secure. 50.000 Einträge schafft auch Access recht flott, aber Du bist echt resistent und seeehr von Dir überzeugt. Lass es Dir gesagt sein: Es geht noch 100x schneller :zwinker: aber egal.
|
Re: guter stil????
Hallo,
Zitat:
Gruß xaromz |
Re: guter stil????
Zitat:
Ich selbst bin ein DAU was den SqlServer angeht, habe einfach zu lange Zeit mit Oracle und seinen optimizer hints verbracht. SQL ist IMHO eine barbarisch hässliche Angelegenheit, aber es ist schon krass wie intelligent heutige DBMSse so eine textuelle Abfrage zerlegen und sich einen Weg zu den Daten zurechtlegen. [1]ohne Vorkenntnisse der Quirks des betreffenden DBMS |
Re: guter stil????
Hallo,
Zitat:
Es geht mir ja auch nicht darum, ob jemand SQL kann oder nicht, nur um obige Behauptung. Sowas ist IMHO einer Diskussion nicht förderlich. Ich benutze auch SQL-Datenbanken, aber bei meiner Anwendung ist die Datenbank ein reiner Datenbehälter, ohne große Verknüpfungen. Ich brauch also auch keine komplexen Statements. Ein simples SELECT oder INSERT reicht mir schon. Gruß xaromz |
Re: guter stil????
Hai ihr,
können wir mal langsam wieder versuchen zu dem ursprünglichen Thema zurück zu finden? |
Re: guter stil????
Zitat:
|
Re: guter stil????
Zitat:
Ich bin nunmal deutlich schneller, wenn ich meine Funktionen und Proceduren einfach so runtertippen kann und danach den Code automatisch formatieren lasse. Codeoptinierung ist selbstverständlich nur bei formatiertem Code vernünftig machbar... |
Re: guter stil????
@turboPASCAL und alle mit If then Einrückung.
ich habe da noch eine Variante, die nicht genannt wurde...
Delphi-Quellcode:
Somit kann ich am if schon erkennen, ob ein else vorhanden ist. (War früher noch wichtiger als heute, da
// <- Immer vor einem if eine leerzeile
if ... then begin end; // <- Immer vor einem if eine leerzeile if ... // immer wenn die if einen else-teil hat, kommt das then drunter! then begin end else begin end; die Monitore "nur" 25 Zeilen hatten und i.d.R. nicht die ganze If auf den Bildschirm gepasst hat.
Delphi-Quellcode:
Frank :coder:
// oder die Kurzform
if ... then X := 43 // oder mit else if X=43 then DeepThought := true else DeepThought := false; // oder DeepThought := boolean(X=43) // :-) // Ach ja und noch etwas if DeepThought then begin for i:=0 to Guide.lines.count-1 do begin ... end; // vor einer schleife immer eine Leerzeile while i < Guide.lines.count-1 od begin ... end repeat ... until not(Earth); // und vor einer case immer eine Leerzeile Case Typeofrules of 1 : begin end; 2 : begin end; end; // of case // ^^^^^^^^^^ immer diesem Kommentar, weil einziges end ohne begin... end; |
Re: guter stil????
Ich glaube, man kann hier mal eine Zusammenfassung der ganzen Beiträge nennen :zwinker: :
Mach es so, wie du es für dich am besten lesen kannst, eindeutige Vorschriften gibt es keine. Manches ist übersichtlicher, manches weniger, aber das musst du selbst entscheiden, was für dich das Richtige ist. :) |
Re: guter stil????
also ich mach dass IMMER so egal wie viel in die abfrage kommt.
Delphi-Quellcode:
// abfrage ob bla gleich blub ist
if bla = blub then begin // bla ist richtig bla:= bla + 'Richtig'; end else begin // Bla ist falsch bla:= Bla + 'falsch' end; |
Re: guter stil????
Zitat:
Gruß Der Unwissende |
Re: guter stil????
Zitat:
Btw: An der Uni müssen wir uns beispielsweise strikt an einen Styleguide halten. Ein Leerzeichen zu viel im Code gibt gnadenlos Punktabzug. Da wir dort im Team arbeiten müssen ist das auch das einzig Richtige. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:02 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