Gamestudio Links
Zorro Links
Newest Posts
zorro 64bit command line support
by 7th_zorro. 04/20/24 10:06
StartWeek not working as it should
by jcl. 04/20/24 08:38
Data from CSV not parsed correctly
by jcl. 04/20/24 08:32
Zorro FIX plugin - Experimental
by jcl. 04/20/24 08:30
folder management functions
by VoroneTZ. 04/17/24 06:52
lookback setting performance issue
by 7th_zorro. 04/16/24 03:08
Zorro FIX plugin - Experimental
by flink. 04/14/24 07:46
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
3 registered members (7th_zorro, Aku_Aku, 1 invisible), 579 guests, and 1 spider.
Key: Admin, Global Mod, Mod
Newest Members
EternallyCurious, howardR, 11honza11, ccorrea, sakolin
19047 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 182 of 349 1 2 180 181 182 183 184 348 349
Re: Der "mich kotzt etwas verdammt an"- Thread [Re: Damocles] #404361
07/07/12 18:09
07/07/12 18:09
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline
Senior Expert
HeelX  Offline
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
Originally Posted By: Harry Potter
ENDIF
Bitte lass es ein Scherz sein. Die Mathematiker bei uns an der Uni schreiben in Ihrem Pseudocode immer sowas, mach einer sogar "fi" um die Einrückung des if-Blockes zu markieren.

Code:
so!

void blabla()
{
   if(lala==1)
   {
     ....
   }
}



Persönlicher Stil hin oder her, aber ich komm noch weniger drauf klar wenn da Leerzeichen fehlen:

Code:
so!

void blabla ()
{
   if ((lala * 3) == 3)
   {
      ...
   }
}



Re: Der "mich kotzt etwas verdammt an"- Thread [Re: HeelX] #404363
07/07/12 18:48
07/07/12 18:48
Joined: Feb 2005
Posts: 3,687
Hessen, Germany
T
Tempelbauer Offline
Expert
Tempelbauer  Offline
Expert
T

Joined: Feb 2005
Posts: 3,687
Hessen, Germany
Quote:
Die Mathematiker bei uns an der Uni schreiben in Ihrem Pseudocode immer sowas, mach einer sogar "fi" um die Einrückung des if-Blockes zu markieren.

so welche haben wir auch bei uns:
Code:
Procedure TransHTO1

for i = 1 to n do
   for j = 1 to n do
      for k = 1 to n do
         if (k,j) € E and (j,i) € E then
            E <- E U {(i,j)}
         fi
      od
   od
od



so sieht gut lesbarer code aus:
Code:
so!

void blabla()
{
   if((lala * 3) == 3)
   {
      ...
   }
}



Re: Der "mich kotzt etwas verdammt an"- Thread [Re: Tempelbauer] #404365
07/07/12 19:28
07/07/12 19:28
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline
Senior Expert
HeelX  Offline
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
Aber warum machst du zwischen if und der ersten Klammer kein Leerzeichen? Weil du sagst ja "wenn x dann y" und nicht "wennxdanny". Mein Problem daran ist, dass wenn zwischen zwei Syntaxelementen ein geringer Abstand ist - oder gar keiner, wie bei Dir - dass die Sachen als zusammengehörig wahrgenommen werden. Stell dir vor, du hast einen Rumpf mit zwei Argumenten, dann sieht
Code:
void f(int x,int y)

ja irgendwie sehr gedrungen aus, bei
Code:
void f (int x, int y)

ist klar zu lesen "Das ist eine Funktion f mit keiner Rückgabe, und zwei Parametern, x als int, und dann y als int". Natürlich liest man das beim ersten auch heraus, aber ich gehe stark davon aus, dass durch den fehlenden Platz die Augen/die Sinneswahrnehmung länger braucht, um das auseinanderzupflücken. Anders bei Aufrufen, die nicht den deklarativen Character wie ein Funktionsrumpf haben; da empfinde ich es sehr störend, wenn ein Leerzeichen zwischen Funktionsname und der Klammer und den folgenden Argumenten kommt, weil wenn der Funktionsname (im ersten Blick) alleine da steht, die Assoziation geweckt wird, dass es sich um einen Funktionszeiger handelt; wobei man ja aber mit "blabla(1, 2)" sich eher darauf besinnt, dass hier ein durch eine Funktion berechneter Wert eingesetzt wird.

Auch bei if's graust es mir, wenn dann da steht
Code:
if(((!(...


weil das "(((!(" als Teil des boolschen Ausdrucks ja nicht zum if als Syntaxelement gehört, sondern abgesondert zu betrachten ist - da es ja gesondert berechnet wird und dann in ein true/false zerfällt.

Letztenendes finde ich, dass sich guter Code sich neben dem technischen Aspekt auch immer sehr durch Lesbarkeit, Layout und Schönheit kennzeichnet, die sich auch in Strukturen und Ordnungsprinzipien wiederfindet. Deshalb frage ich, warum Du das gerade so findest und nicht weil es nur ja/nein gibt smile

Last edited by HeelX; 07/07/12 19:31.
Re: Der "mich kotzt etwas verdammt an"- Thread [Re: HeelX] #404368
07/07/12 21:35
07/07/12 21:35
Joined: Feb 2005
Posts: 3,687
Hessen, Germany
T
Tempelbauer Offline
Expert
Tempelbauer  Offline
Expert
T

Joined: Feb 2005
Posts: 3,687
Hessen, Germany
Quote:
Deshalb frage ich, warum Du das gerade so findest und nicht weil es nur ja/nein gibt

find ich nicht, ist nur ne persönliche meinung (hätt ich vielleicht deutlicher machen sollen). andere bevorzugen diesen für mich unübersichtlichen stil die öffnende geschweifte klammer nicht in eine separate zeile zu setzen.

durch f() sehe ich schneller, dass es ein funktionsaufruf ist (bezeichner und parameterliste gehören zusammen). du benutzt hingegen auch hier leerzeichen, dadurch wirkt der code auf mich "zerpflückt". besonders wenn man ein komplexeres konstrukt hat:
Code:
var a = b (c + d (e) - 4 * (f (g) + h (4)),5 );

var a = b(c + d(e) - 4 * (f(g) + h(4)) , 5);


ist zumindest meine meinung tongue

Re: Der "mich kotzt etwas verdammt an"- Thread [Re: Tempelbauer] #404370
07/08/12 00:17
07/08/12 00:17
Joined: Sep 2003
Posts: 9,859
F
FBL Offline
Senior Expert
FBL  Offline
Senior Expert
F

Joined: Sep 2003
Posts: 9,859
Code:
if( a == 7 )



ist der absolute Oberhorror. Eigentlich müsste sowas einen Syntaxfehler schmeißen - nur damit die Leute so ein Unding nicht mehr schreiben.

Re: Der "mich kotzt etwas verdammt an"- Thread [Re: FBL] #404376
07/08/12 07:16
07/08/12 07:16
Joined: Nov 2011
Posts: 274
de
lemming Offline
Member
lemming  Offline
Member

Joined: Nov 2011
Posts: 274
de
Code:
void blabla ()
{
   if (lala == 1)
   {
      ...
   }
}


ganz falsch!

Code:
bla     CMP 1
        BNE blaelse
        ...
        JMP blaout
blaelse ...
blaout  ...


so!

grin

Re: Der "mich kotzt etwas verdammt an"- Thread [Re: lemming] #404381
07/08/12 10:52
07/08/12 10:52
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline
Senior Expert
HeelX  Offline
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
Nein, also ne Leerzeichenstreumaschine will ich ja auch nicht, würde das auch so machen:

Code:
if (a == 7)
var a = b(c + d(e) - 4 * (f(g) + h(4)), 5);



Aber ich sehe schon, dass das echt ne subjektive Kiste ist, wo jeder seine eigene Meinung hat smile

Last edited by HeelX; 07/08/12 10:52.
Re: Der "mich kotzt etwas verdammt an"- Thread [Re: HeelX] #404390
07/08/12 13:10
07/08/12 13:10
Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
Harry Potter Offline
Expert
Harry Potter  Offline
Expert

Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
Mir stellt es alle Haare auf, wenn ich einstellige Variablennamen sehe (z.B. a = b).
Einstellige Variablen (z.B: "i") verwende ich höchstens für einen Array-Index.

Das mit den Leerzeichen stört mich da eher weniger. Wobei ich selbst eher dazu neige, möglichst wenige Leerzeichen zu machen. Allerdings verwende ich beruflich einige Programmiersprachen (z.B. ABAP) wo es genau vorgeschrieben ist, wann und wo man Leerzeichen machen muss, und wo man es nicht darf (ein falsches Setzen von Leerzeichen löst meist einen Syntaxfehler aus).

Und, HeelX, das mit dem "ENDIF" war wirklich ernst gemeint. grin
Ich finde es total unübersichtlich, wenn ein und dasselbe Zeichen (geschwungene Klammer) für viele verschiedene Dinge verwendet wird. Bei komplexeren Codings braucht man dann unbedingt einen speziellen Editor, der die Einrückungen übersichtlicher darstellen kann, damit man nicht den Überblick verliert. Wenn man das Coding aber z.B. in NOTEPAD hineinkopiert, kennt sich kein Mensch mehr aus, wohin eine bestimmte Klammer nun gehört. Da würde ich folgendes Coding weit übersichtlicher finden. Man sieht sofort, wo eine bestimmte Schleife oder Bedingung zu Ende ist:

Code:
VOID blabla()
  IF(a = b)

    WHILE(1)
      Tu_das(1);
      Tu_das(2);

      IF(c = d)
         Tu_das(3);
      ENDIF 
    ENDWHILE
  
  ENDIF
ENDVOID


Anstatt so:
Code:
VOID blabla()
{
  if(a == b)
  {
    while(1)
    {
      Tu_das(1);
      Tu_das(2);

      if(c == d)
      {
        Tu_das(3);
      }
    }     
  }   //<--- Diese Klammernansammlung ist der totale Wahnsinn
}


Abgesehen davon hasse ich diese geschwungenen Klammern, weil man sich jedesmal fast die Finger bricht, wenn man diese Zeichen auf der Tastatur eintippen muss. grin
Dieses "==" beim IF hasse ich übrigens auch. Warum nicht, so wie bei vielen allen anderen Programmiersprachen, einfach "IF a=b"?

Re: Der "mich kotzt etwas verdammt an"- Thread [Re: Harry Potter] #404391
07/08/12 13:12
07/08/12 13:12
Joined: Feb 2009
Posts: 3,207
Germany, Magdeburg
Rei_Ayanami Offline
Expert
Rei_Ayanami  Offline
Expert

Joined: Feb 2009
Posts: 3,207
Germany, Magdeburg
Da das ja der "mich kotzt etwas verdammt an" Thread ist, kann ich ja sagen, das {} total toll sind tongue!

Re: Der "mich kotzt etwas verdammt an"- Thread [Re: Rei_Ayanami] #404396
07/08/12 14:36
07/08/12 14:36
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Harry, das würde man ja auch so schreiben:
Code:
void blabla()
{
  if(a == b)
    while(1)
    {
      Tu_das(1);
      Tu_das(2);
      if(c == d)
        Tu_das(3);
    }
}


Originally Posted By: Harry Potter
Warum nicht, so wie bei vielen allen anderen Programmiersprachen, einfach "IF a=b"?
WEil a=b eine Zuweisung und kein Vergleich ist. "a=b" evaluiert zu dem Wert von b. "a==b" evaluiert zu einem Wert ungleich 0 oder gleich 0. Zudem kann "a==b" typisiert werden, in Java ist das nämlich ein Audruck vom Typ boolean.


Always learn from history, to be sure you make the same mistakes again...
Page 182 of 349 1 2 180 181 182 183 184 348 349

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1