Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   guter stil???? (https://www.delphipraxis.net/66168-guter-stil.html)

sECuRE 28. Mär 2006 05:51

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

alzaimar 28. Mär 2006 07:13

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.

Luckie 28. Mär 2006 07:22

Re: guter stil????
 
Zitat:

Zitat von alzaimar
Wenn Du aber auf dem Standpunkt beharrst, ein Programmierer sei kein Informatiker, das ist diese Aussage ein Denkmal deines Anspruches an dich selbst.

Korrektur: Er hat gesagt, er sei Programmierer und kein Mathematiker.

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.

alzaimar 28. Mär 2006 07:39

Re: guter stil????
 
Zitat:

Zitat von sECuRE
Ich bin Programmierer, kein Mathematiker
...
Mathematiker sind nicht gleich Programmierer (ich sage nicht Informatiker!

Hi Luckie...
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.

negaH 28. Mär 2006 08:40

Re: guter stil????
 
Zitat:

Und irgendwie finde ich meine Version übersichtlicher, als eure ._.
Delphi-Quellcode:
Delphi-Quellcode:   zusammenfalten | markieren   
// MEINE
If ... Then Begin
  ...;
End Else If ... Then Begin
  ...;
End Else if ... Then Begin
  ...;
End Else Begin
End;

// das Andere
if ... then
begin
  ...;
end else
  if ... then
  begin
    ...;
  end else
    if ... then
    begin
      ...;
    end else
    begin
    end;
Und ja, ich mache manchmal immernoch mehrere Befehle in eine Zeile, wenn es logisch zusammengehört und so auch noch übersichtlicher ist
Sorry aber das ist Spaghetti Code. Due zerstörst damit die visuelle Kommunikation mit dem Leser.
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:
if ... then
begin
  ...;
end else
  if ... then
  begin
    ...;
  end else
  begin
    Variable := XYZ;
    if ... then
    begin
      ...;
    end else
    begin
    end;      
  end;
Die gesamtstruktur bleibt erhalten, was auch logisch ist da das objige Konstrukt nur ein reduzierte Kurzform der vollständigen Systax ist:

Delphi-Quellcode:
if ... then
begin
  ...;
end else
begin
  if ... then
  begin
    ...;
  end else
  begin
    if ... then
    begin
      ...;
    end else
    begin
    end;   
  end;
end;
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 ;) )

Gruß Hagen

negaH 28. Mär 2006 08:54

Re: guter stil????
 
Delphi-Quellcode:
    begin
      ...;
    end else
    begin
    end;
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.
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

ibp 28. Mär 2006 08:56

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.

negaH 28. Mär 2006 09:00

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

freak4fun 28. Mär 2006 09:09

Re: guter stil????
 
Hallo!
Bei mir würde das so aussehen:

Delphi-Quellcode:
if ... then
  begin
    ...;
  end
else
  begin
    if ... then
      begin
        ...;
      end
    else
      begin
        if ... then
          begin
            ...;
          end
        else
          begin
          end;  
      end;
  end;
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:

MfG
freak

Phoenix 28. Mär 2006 09:10

Re: guter stil????
 
Zitat:

Zitat von negaH
Denn Form ohne Inhalt ist sinnlos, aber Inhalt in gute Form gebracht ist besser verkaufbar.

Ganz OT: Heisst das, Du schreibst endlich Dein eigenes Buch über Kryptographie? :mrgreen:

FriFra 28. Mär 2006 09:15

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:

ibp 28. Mär 2006 09:36

Re: guter stil????
 
Zitat:

Zitat von negaH
Ich leite davon ab das es auch viel andere Leser der DP gibt die sich für das gleiche Thema interessieren..

natürlich, das ist ja auch ein forum
Zitat:

Zitat von negaH
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.

falsch abgeleitet, natürlich haben alle die sich für diesen oder andere threads interessieren das recht sich daran zu beteiligen oder sich entsprechende infos zu ziehen.
Zitat:

Zitat von negaH
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.

das war ja auch denke ich mr.pinks intension
Zitat:

Zitat von negaH
Denn Form ohne Inhalt ist sinnlos, aber Inhalt in gute Form gebracht ist besser verkaufbar.

ganz meiner meinung

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é

sECuRE 28. Mär 2006 09:38

Re: guter stil????
 
Hi,

Zitat:

Zitat von alzaimar
@secure: Gibt es längst für Delphi: DelForEx, Jedi Code Formatter etc.

OK, gut zu wissen. Hab' ich jedoch nie verwendet, da ich gerne Herr meines Codes bin.

Zitat:

Zitat von alzaimar
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.

Hm, ich programmiere seit ca 7 Jahren (nicht durchgängig jedoch, die letzten 3 Jahre aber durchgängig). Ich denke, das ist schon einige Zeit.

Zitat:

Zitat von alzaimar
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.

Ich weiß, dass Hagen ein alter Hase ist und finde seine ausführlichen Erklärungen und Beiträge oft sehr hilfreich. Dass mein Verhalten wohl abwehrend rüberkommt, begründe ich damit, dass ich in meinem eigenen Stil für alles eine logische Begründung habe, die ich nicht einfach aufgebe, weil es jemandem anders besser gefällt ;). Ich vertrete erst meinen Standpunkt und höre mir die Kritik/Meinungen der anderen an, um anschließend die meiner Meinung nach guten Punkte zu übernehmen und somit die optimale Variante zu finden.

Zitat:

Zitat von alzaimar
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.

Ich habe es einfach Satt, dass man zwangsweise gut in Mathe sein muss, wenn man gut programmieren kann und dass das auch umgekehrt angenommen wird. Ich würde mich in meiner Freizeit beispielsweise gar nicht mit Mathe beschäftigen, da es mich schlicht nicht interessiert. Ich verfolge andere Ziele beim Programmieren. Programmieren ist letztendlich der Weg, dem Computer mitzuteilen, was man machen möchte und Probleme zu lösen beziehungsweise Arbeitswege zu optimieren. Das hat die Mathematik mir in meinem Leben bisher nicht ermöglicht, was aber daran liegen mag, dass ich keinen Beruf ausübe, sondern noch Schüler bin.

Zitat:

Zitat von alzaimar
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.

Ich beschäftige mich ja auch gerne mit Computergeschichte, beispielsweise Assemblerprogrammierung. Allerdings hat das mit der heutigen, objektorientierten Programmierung nicht mehr viel zu tun...

cu

Phoenix 28. Mär 2006 09:52

Re: guter stil????
 
Zitat:

Zitat von sECuRE
Ich habe es einfach Satt, dass man zwangsweise gut in Mathe sein muss, wenn man gut programmieren kann und dass das auch umgekehrt angenommen wird. Ich würde mich in meiner Freizeit beispielsweise gar nicht mit Mathe beschäftigen, da es mich schlicht nicht interessiert. Ich verfolge andere Ziele beim Programmieren.

Dann such Dir ein anderes Hobby.

Zitat:

Zitat von sECuRE
Programmieren ist letztendlich der Weg, dem Computer mitzuteilen, was man machen möchte und Probleme zu lösen beziehungsweise Arbeitswege zu optimieren. Das hat die Mathematik mir in meinem Leben bisher nicht ermöglicht, was aber daran liegen mag, dass ich keinen Beruf ausübe, sondern noch Schüler bin.

Genau: Du teilst dem Computer mit was er machen soll, um (Deine) Probleme zu lösen.
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.

sakura 28. Mär 2006 10:00

Re: guter stil????
 
Zitat:

Zitat von Phoenix
Zitat:

Zitat von sECuRE
Ich habe es einfach Satt, dass man zwangsweise gut in Mathe sein muss, wenn man gut programmieren kann und dass das auch umgekehrt angenommen wird.

Dann such Dir ein anderes Hobby.

Warum Phoenix? Schon mal darüber nachgedacht, dass es auch anders sein könnte? An meiner Universität wurde zu genau diesem Thema eine Langzeitstudie durchgeführt und das Ergebnis hat einige überrascht. Im Allgemeinen waren die Mathematiker schlechte Informatiker und Programmierer. Mathematiker haben versucht alles mit Logik zu schaffen aber ihnen fehlte oft eine entscheidene Komponente in der Verbindung der logischen Elemente: Kreativität. Und genau diese Gruppe, die der Künstler und Kreativen hat meistens am Ende (Uni-Abschluss) besser abgeschnitten, als die Mathematiker. Ausnahmen bestätigen die Regel, aber nach Jahren der Berufserfahrung habe ich gelernt, dass an dieser Studie eine Menge wahr ist.

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:

Das mag jetzt hart klingen, es ist aber so.
Ist nicht :zwinker:

negaH 28. Mär 2006 11:45

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.

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

sECuRE 28. Mär 2006 12:40

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

alzaimar 28. Mär 2006 13:43

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.

Chewie 28. Mär 2006 13:59

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.

Hansa 28. Mär 2006 14:35

Re: guter stil????
 
Zwischendrin hat sich auch noch ein schlechter Stil eingeschlichen :

Zitat:

Zitat von FriFra
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.

Hört sich schwer nach Try and Error-Programmierung an. :P So spricht jedenfalls einer, dem der Stil ziemlich egal ist und der den Code nicht formatiert, um ihn besser lesen zu können, sondern eher, um es irgendjemand recht zu machen. Wenn ich F9 drücke, so weiß ich bei 80 % der Fälle, daß kein Fehler kommt. Und zwar alleine durch das Lesen des strukturierten Quelltextes. Das macht man direkt beim schreiben und nicht erst später. An so was :

Delphi-Quellcode:
if b then begin
  if a then begin
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.

sECuRE 28. Mär 2006 14:42

Re: guter stil????
 
Hi alzaimar,

Zitat:

Zitat von alzaimar
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.

Ich stehe auf schriftlich 2, mündlich 1 in Mathe.

Zitat:

Zitat von alzaimar
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.

Vielleicht gehen hier einfach die Definitionen von Mathematiker auseinander. Jemand, der Mathematik anwendet, ist noch lange kein Mathematiker, und mehr als Anwenden der Mathematik sehe ich im Programmieren nicht. Mathematiker sind für mich die Leute, die Spaß an solchen Dingen wie der Herleitung der Ableitung von cos() haben (nur mal als Beispiel) und sich damit auch in ihrer Freizeit beschäftigen.

Zitat:

Zitat von alzaimar
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!

Hmm, ich weiß nicht. Ich hab nicht sonderlich viel mit SQL-Datenbanken am Hut, jedoch schon einige Anwendungen, die eine benutzen, programmiert. Bisher war es für mich nie nötig, die Mengenlehre bewusst (!) miteinzubringen.

Vielleicht hilft einigen Leuten die Mathematik beim Programmieren, ich tendiere dazu, mir meine eigenen Gedankenkonstrukte aufzubauen...

cu

alzaimar 28. Mär 2006 14:52

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.

sECuRE 28. Mär 2006 15:07

Re: guter stil????
 
Hi,

Zitat:

Zitat von alzaimar
@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.

Gut, dann haben wir ja den Punkt gefunden, an dem's liegt ;).

Zitat:

Zitat von alzaimar
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.

Hmm, ich weiß nicht, vielleicht waren meine Einsatzzwecke einfach zu trivial. Schau mal auf http://www.twice-irc.de/news/ und dann sag mir, dass es langsam ist ;) (knapp 50.000 Einträge, wie du siehst; der Server ist übrigens ein P3 600).

cu

alzaimar 28. Mär 2006 16:29

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.

xaromz 28. Mär 2006 16:47

Re: guter stil????
 
Hallo,
Zitat:

Zitat von alzaimar
Lass es Dir gesagt sein: Es geht noch 100x schneller :zwinker: aber egal.

Nichts für ungut, aber so eine pauschale Aussage scheint mir etwas unseriös. Vielleicht hat er ja intuitiv alles richtig gemacht :wink: .

Gruß
xaromz

Elvis 28. Mär 2006 17:25

Re: guter stil????
 
Zitat:

Zitat von xaromz
Hallo,
Zitat:

Zitat von alzaimar
Lass es Dir gesagt sein: Es geht noch 100x schneller :zwinker: aber egal.

Nichts für ungut, aber so eine pauschale Aussage scheint mir etwas unseriös. Vielleicht hat er ja intuitiv alles richtig gemacht :wink: .

sorry, ich habe noch nie jemanden gesehem, der komplexe SQLs intuitiv[1] so gebaut hat, dass sie optimal laufen.
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

xaromz 28. Mär 2006 17:35

Re: guter stil????
 
Hallo,
Zitat:

Zitat von Elvis
sorry, ich habe noch nie jemanden gesehem, der komplexe SQLs intuitiv[1] so gebaut hat, dass sie optimal laufen.

Wer sagt, dass er komplexe Statements gebraucht hat?
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

Sharky 28. Mär 2006 17:36

Re: guter stil????
 
Hai ihr,

können wir mal langsam wieder versuchen zu dem ursprünglichen Thema zurück zu finden?

Hansa 28. Mär 2006 18:03

Re: guter stil????
 
Zitat:

Zitat von xaromz
...ob jemand SQL kann oder nicht, nur um obige Behauptung. Sowas ist IMHO einer Diskussion nicht förderlich.
Ich brauch also auch keine komplexen Statements. Ein simples SELECT oder INSERT reicht mir schon.

Da geht aber der gute/schlechte Stil schon weiter. Natürlich kann man das auch auf Datenbanken ausdehnen, also kein primary key, alles in eine einzige Tabelle usw. Was solls ? Dann dauert die Suche eben ewig, aber es geht alles und es wurde eine "Datenbank" benutzt, die eigentlich ihren Namen nicht verdient. Und die Behauptung von Alzaimer kann ich sofort glauben. Mit einfachsten Mitteln ist es sogar möglich, eine Datenbank völlig zum Stillstand zu bringen. Was macht da schon ein Faktor 100 ? :mrgreen:

FriFra 28. Mär 2006 19:42

Re: guter stil????
 
Zitat:

Zitat von Hansa
Zwischendrin hat sich auch noch ein schlechter Stil eingeschlichen :

Zitat:

Zitat von FriFra
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.

Hört sich schwer nach Try and Error-Programmierung an. :P So spricht jedenfalls einer, dem der Stil ziemlich egal ist und der den Code nicht formatiert, um ihn besser lesen zu können, sondern eher, um es irgendjemand recht zu machen.

Sorry, aber das IST Blödsinn! Es hat mit Try and Error-Programmierung rein garnichts zu tun. Ich verschwende nur keine Zeit um den Code manuell zu formatieren! Ich lege allerdings sehr wohl wert auf gut lesebaren, strukturierten und Kommentierten Code.
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...

Mavarik 29. Mär 2006 09:06

Re: guter stil????
 
@turboPASCAL und alle mit If then Einrückung.

ich habe da noch eine Variante, die nicht genannt wurde...

Delphi-Quellcode:
// <- 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;
Somit kann ich am if schon erkennen, ob ein else vorhanden ist. (War früher noch wichtiger als heute, da
die Monitore "nur" 25 Zeilen hatten und i.d.R. nicht die ganze If auf den Bildschirm gepasst hat.

Delphi-Quellcode:
// 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;
Frank :coder:

Matze 29. Mär 2006 09:11

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. :)

JWeis 29. Mär 2006 09:34

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;

Der_Unwissende 29. Mär 2006 11:21

Re: guter stil????
 
Zitat:

Zitat von Matze
eindeutige Vorschriften gibt es keine

Aber eine Menge guter Empfehlungen! Und wenn mehr als eine Person an/mit dem Code arbeitet sollten Vorschriften gemacht werden (macht einfach vieles leichter), aber wie richtig gesagt wurde es sind alles nur Empfehlungen (die aus einer langen Erfahrung von vielen vielen Menschen resultieren).

Gruß Der Unwissende

Matze 29. Mär 2006 11:24

Re: guter stil????
 
Zitat:

Zitat von Der_Unwissende
Und wenn mehr als eine Person an/mit dem Code arbeitet sollten Vorschriften gemacht werden

Jupp, dem stimme ich zu, nur ging es ja um seinen eigenen Schreibstil, aber da sind Empfehlungen natürich nützlich, keine Frage. Ich habe nur gemeint, da jeder hier etwas anderes schreibt, soll er sich das heraussuchen, was ihm am ehesten zusagt. ;)

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.
Seite 2 von 2     12   

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