![]() |
Win Niki Code Formatierung
Hallo.
Ich habe Informatik in der 10 Klasse und wir haben grade WIN NIKI. Das ändert Turbo Pascal ja sehr, nur dasses halt viel einfacher ist. Hier meine Frage : Mein Informatiklehrer will mich dauernd über die Codeformatierung belehren. Meine Version :
Delphi-Quellcode:
Seine Version :
PROGRAM Insel_mit_Bergen;
PROCEDURE drehe_rechts; BEGIN drehe_links; drehe_links; drehe_links; END; BEGIN REPEAT IF vorne_frei THEN vor; IF rechts_frei AND vorne_frei THEN BEGIN drehe_rechts; vor; END; IF NOT rechts_frei AND NOT vorne_frei THEN drehe_links; UNTIL platz_belegt; END.
Delphi-Quellcode:
So ähnlich zumindest.
PROGRAM Insel_mit_Bergen;
PROCEDURE drehe_rechts; BEGIN drehe_links;drehe_links;drehe_links; END; BEGIN REPEAT IF vorne_frei THEN vor; IF rechts_frei AND vorne_frei THEN BEGIN drehe_rechts; vor; END; IF NOT rechts_frei AND NOT vorne_frei THEN drehe_links; UNTIL platz_belegt; END. Also ich finde das total unübersichtlich. Wie ist es denn nun "richtig"? |
Re: Win Niki Code Formatierung
Hi,
ich kenne Win Niki nicht, aber es sieht Pascal-mäßig aus. D.h. im Endeffekt gilt auch hier der [dp]"Object Pascal Styleguide"[/dp]. "Richtig" in dem Sinne ist eigentlich nichts, weil es kein Gesetz dafür gibt, aber den Richtlinien nach, sind beide Version "falsch". ;) Dem Styleguide nach, wäre diese die richtige Version:
Delphi-Quellcode:
Bin mir jetzt aber nicht hundertprozentig sicher...
program Insel_mit_Bergen;
procedure drehe_rechts; begin drehe_links; drehe_links; drehe_links; end; begin repeat if vorne_frei then vor; if rechts_frei and vorne_frei then begin drehe_rechts; vor; end; if (not rechts_frei) and (not vorne_frei) then drehe_links; until platz_belegt; end. Chris |
Re: Win Niki Code Formatierung
Das ist beides Total Falsch( EDIT: Zumindestens IMHO )!!!
Das kann doch kein Mensch lesen! ![]() |
Re: Win Niki Code Formatierung
Hallo Gerrit89,
ein "richtig" oder "falsch" gibt hier bei wohl nicht ("falsch" ist nur, wenn der Compiler es nicht erkennt bzw. das Programm anders abläuft als geplant). Da hat wohl jeder Programmierer seinen eigenen Stil, da IMHO programmieren sehr vom Typ des Programmiers oder der Programmmiererin abhängt. Ich persönlich finde den oberen Text übersichtlicher (auch wenn ich die eine oder andere Leerzeile weglassen würde). Den Aufruf mehrerer Funktionen hintereinander in einer Zeile finde ich sogar sehr unübersichtlich. Aber das ist meine persönliche Meinung. Prinzipiell sollte jeder Code so geschrieben werden, dass man auch nach 6 Monaten erkennt, wie das Programm abläuft und was "uns der Künstler damit sagen wollte". Gruß Frank |
Re: Win Niki Code Formatierung
Ich würde es so schreiben (ähnlich wie du):
Delphi-Quellcode:
Edit: Wie sieht denn "drehe_links" aus, wenn es für "drehe_rechts" dreinmal aufgerufen wird. Gibts kein normales rechtsdrehen? :lol:
program Insel_mit_Bergen;
procedure drehe_rechts; begin drehe_links; drehe_links; drehe_links; end; begin repeat if vorne_frei then vor; if rechts_frei and vorne_frei then begin drehe_rechts; vor; end; if not rechts_frei and not vorne_frei then drehe_links; until platz_belegt; end. |
Re: Win Niki Code Formatierung
Also ich finde es sieht genau so aus wie bei mir was die IFs angeht.
Den Rest hab ich mir nicht angeschaut aber das ganze Prog besteht ja nur aus IFS.
Delphi-Quellcode:
Daran ist doch bei mir nichts anders ausser dass ich eine Leerzeile lasse.
if ((X = Y) or (Y = X) or
(Z = P) or (F = J) then begin S := J; end; |
Re: Win Niki Code Formatierung
Ich würde das so machen:
Delphi-Quellcode:
program Insel_mit_Bergen;
procedure drehe_rechts; begin drehe_links; drehe_links; drehe_links; end; begin repeat if vorne_frei then vor; if rechts_frei and vorne_frei then begin drehe_rechts; vor; end; if not rechts_frei and not vorne_frei then drehe_links; until platz_belegt; end. |
Re: Win Niki Code Formatierung
Zitat:
mfG mirage228 |
Re: Win Niki Code Formatierung
Leerzeilen nach begin und vor end sind kontraproduktiv, denn es sind weniger Zeilen mit Inhalt sichtbar.
Die Einrueckung strukturiert doch schon genuegend. Der Style Guide von Borland beruht auf Forschungsergebnissen. Man sollte ihn nicht leichtfertig uebergehen. Natuerlich kann man ihn variieren. Bei Jedi haben wird das z. B. gemacht, denn einiges ist heutzutage veraltet oder bedarf der Praezisierung. 80 Zeichen ist z. B. bei Bildschirmaufloesungen von 1280 und darueber ein bischen knapp bemessen. |
Re: Win Niki Code Formatierung
Gibt natürlich ausnahmen beim Hintereinanderschreiben von Funktionen, z.b. hier:
Delphi-Quellcode:
Da ist es sehr unübersichtlich es nicht hintereinander zu schreiben!
glColor3f(0,0,0); glVertex3f(0,0,0); glTexCord(0,0);
glColor3f(0,0,1); glVertex3f(0,0,1); glTexCord(0,1); glColor3f(0,1,1); glVertex3f(0,1,1); glTexCord(1,1); |
Re: Win Niki Code Formatierung
Der Borland Style Guide hat etwas dagegen.
Das Problem ist das solche Ausnahmen dem kuenstlerisch-intuitiven Codearrangement Tuer und Tor oeffnen. Leider hat nicht jeder die gleiche Vorstellung von intuitiv. Zusaetzlich ist mehr als ein Statement gefaehrlich. Wenn man nachtraeglich ein if einfuegt, so vergisst man leicht den dann noetigen begin end Blcok. Der Compiler hat gegen die Source nichts einzuwenden, aber er generiert nicht den Code den man erwartet. |
Re: Win Niki Code Formatierung
Zitat:
findest du? Ich würde das so schreiben:
Delphi-Quellcode:
glColor3f(0,0,0);
glVertex3f(0,0,0); glTexCord(0,0); glColor3f(0,0,1); glVertex3f(0,0,1); glTexCord(0,1); glColor3f(0,1,1); glVertex3f(0,1,1); glTexCord(1,1); |
Re: Win Niki Code Formatierung
Was ist denn nun richtiger und akzeptabler und übersichtlicher?
|
Re: Win Niki Code Formatierung
Zitat:
Ich finde, dass es hauptsächlich deine eigene Meinung ist. Persönlich würde ich es wie Spider schreiben, aber nehmen wir zum Bleistift dizzys Blur-Funktion:
Delphi-Quellcode:
IMO ist das die einzig sinnvolle Darstellung.
for x := 2 to i.Width-2 do
begin // Blauwert des Zielpixels aus den Blauwerten der Ausgangsregion basteln Po^[1] := round(((P1^[4]+P1^[7]+P1^[10] + P2^[1] + P2^[13] + P3^[1] + P3^[13] + P4^[1] + P4^[13] + P5^[4]+P5^[7]+P5^[10]) / AntAussen) + ((P2^[4]+P2^[7]+P2^[10] + P3^[4] +P3^[10] + P4^[4]+P4^[7]+P4^[10]) / AntMitte) + (P3^[7] / AntInnen)); // Wie bei Blau, jetzt mit grün Po^[2] := round(((P1^[5]+P1^[8]+P1^[11] + P2^[2] + P2^[14] + P3^[2] + P3^[14] + P4^[2] + P4^[14] + P5^[5]+P5^[8]+P5^[11]) / AntAussen) + ((P2^[5]+P2^[8]+P2^[11] + P3^[5] +P3^[11] + P4^[5]+P4^[8]+P4^[11]) / AntMitte) + (P3^[8] / AntInnen)); // und bei Rot... Po^[3] := round((( P1^[6]+P1^[9]+P1^[12] + P2^[3] + P2^[15] + P3^[3] + P3^[15] + P4^[3] + P4^[15] + P5^[6]+P5^[9]+P5^[12]) / AntAussen) + ((P2^[6]+P2^[9]+P2^[12] + P3^[6] +P3^[12] + P4^[6]+P4^[9]+P4^[12]) / AntMitte) + (P3^[9] / AntInnen)); |
Re: Win Niki Code Formatierung
eigentlich rede ich von meinem prog.
Weicht doch nicht immer auf andere Schnipsel aus. |
Re: Win Niki Code Formatierung
weder fisch noch fleisch ;) wenn du mit deinem lehrer gewettet hast, müsst ihr euch auf ein unentschieden einigen....
tendenziell eher deins. aber perfekt... nein ... wobei sich die frage stellt, ob es "perfekt" gibt. |
Re: Win Niki Code Formatierung
Also ich wüsste gar nicht was an meinem falsch sein sollte.
Ich denke doch so stand es auch in Luckies Styleguide. |
Re: Win Niki Code Formatierung
Hi,
nein. Sicherlich nicht. Lies ihn dir am Besten nochmal durch. Den Link hast du ja noch, ansonsten such einfach danach. Da steht auch eindeutig, dass man mit 2 Leerzeichen einrücken soll, alle reservierten Wörter klein schreiben sollte etc. ;) Wenn du nach einer "richtigen" Lösung fragst, ist der Styleguide eben diese. ;) Chris |
Re: Win Niki Code Formatierung
Zitat:
Zitat:
@Gerrit für mich wäre das der perfekte Code:
Delphi-Quellcode:
program Insel_mit_Bergen;
procedure drehe_rechts; begin drehe_links; drehe_links; drehe_links; end; begin repeat if (vorne_frei) then begin vor; end; if (rechts_frei) and (vorne_frei) then begin drehe_rechts; vor; end; if (not (rechts_frei)) and (not (vorne_frei)) then begin drehe_links; end; until platz_belegt; end. |
Re: Win Niki Code Formatierung
Naja 1. Ich habe immer mit 2 Leerzeichen eingerückt und 2. Mache ich das auch nur bei WIN NIKI mit der Großschreibung weil ich das sonst kagge find, weil das teil kein Syntaxhighlight hat.
@Spider: Mein Code ähnelt deinem aber genau bis auf die reservierten Wörter die bei mir groß sind und auf die 1 zeile die ich immer noch frei lasse. Und bei WinNiki gibt es keine Klammern. |
Re: Win Niki Code Formatierung
Zitat:
|
Re: Win Niki Code Formatierung
Gib deinem Lehrer mal den Link zum
![]() Eventuell könnt ihr ja einen Kompromiss finden. Letztendlich sollte jeder seinen Code so formattieren, das vor allem er selbst ihn flink lesen kann. Falls man den Source veröffentlicht, kann man ja immer noch schnell einen Sourceformatter drüberjagen um ihn für den Großteil der Entwickler "lesbar" zu machen.
Code:
Wie kommt man als 5jähriger in die 10 Klasse. :gruebel:
Club-Member
Alter: 5 Status: online angemeldet: 06.01.2005 Wohnort: Lübbecke Delphi 2005 Personal |
Re: Win Niki Code Formatierung
Mal so eine kleine Frage am Rande: Was ist Win Niki? :gruebel:
Google und Wikipedia haben mich leider kein stück weitergebracht :( [edit]Wär auch schön zu wissen, wo man das herbekommen kann ;) [/edit] @jensw_2000: Das ist ganz offensichtlich ein gefaktes Geburtsdatum - wohl für die verspielten Kinder, die das lustig finden :roll: |
Re: Win Niki Code Formatierung
Ach malo deine Aroganz ist wieder unübertrefflich.
Im Netz wirst du auch kaum was finden über Win Niki weil es so alt ist, dass es schon lange kostenlos ist. |
Re: Win Niki Code Formatierung
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz