Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Niki Source-Code Design (https://www.delphipraxis.net/159615-niki-source-code-design.html)

roboter202 5. Apr 2011 13:38

Niki Source-Code Design
 
Hi,

Wir machen gerade NIKI in Info

Wer es nicht kennt : Ist eine abgespeckte Version von Pascalohne Variablen ... Simmuliert einen Roboter ....


Mein Lehere würde etwas so schreiben

Code:
PROGRAM test ;

PROCEDURE drehe_rechts ;
BEGIN
drehe_links; drehe_links; drehe_links;
END;

BEGIN
vor; vor; vor;
drehe_rechts;
vor; vor; vor;
END.
^^Davon bekomme ich AUGENKREBS

Et moi

Code:
PROGRAMM test ;

PROCEDURE drehe_rechts ;
BEGIN
  drehe_links;
  drehe_links;
  drehe_links;
END;

BEGIN
  vor;
  vor;
  vor;
  drehe_rechts;
  vor;
  vor;
  vor;
END.
Was findet ihr besser?
Was entspricht dem PASCAL STYLE GUIDE?
Wie würdet ihr es machen?

Gruß
Christian

Sir Rufo 5. Apr 2011 13:43

AW: Niki Source-Code Design
 
Wie du schon schreibst bekommt man davon Augenkrebs.

Somit ist deine Schreibweise auch nach Pascal StyleGuide ;)

Die Gedankenwege eines Lehres sind manchmal unergründlich, die bauen ein Gliederung auch so auf
Code:
1. foo
a) foo
2. foo
Da fragt man sich, wo waren die während des Studiums :roll:

Deep-Sea 5. Apr 2011 13:44

AW: Niki Source-Code Design
 
Ohne Variablen ... aaaaja :freak:

Wie wäre es - allgemein - mit keins von beidem?! Funktionen und Schleifen wären schön.
Zum Beispiel so:
Delphi-Quellcode:
function GoForward(ASteps: Integer = 1);
begin
  While ASteps > 0 do
  begin
    vor;
    Dec(ASteps);
  end;
end;

begin
  GoForward(3);
  drehe_rechts;
  GoForward(3);
end;

Sir Rufo 5. Apr 2011 13:52

AW: Niki Source-Code Design
 
Kuckst du hier mal http://de.wikipedia.org/wiki/Niki_–_der_Roboter und vergiss die Variablen wieder.

Die Frage bezog sich ja auch auf die Schreibweise und nicht auf die Art der Umsetzung.

roboter202 5. Apr 2011 13:52

AW: Niki Source-Code Design
 
Zitat:

Zitat von Deep-Sea (Beitrag 1093127)
Ohne Variablen ... aaaaja :freak:

Wie wäre es - allgemein - mit keins von beidem?! Funktionen und Schleifen wären schön.
Zum Beispiel so:
Delphi-Quellcode:
function GoForward(ASteps: Integer = 1);
begin
  While ASteps > 0 do
  begin
    vor;
    Dec(ASteps);
  end;
end;

begin
  GoForward(3);
  drehe_rechts;
  GoForward(3);
end;

Schön wärs PROCEDURES gibts zwar aber Funktion können nicht gehen OHNE VARIABLEN man könnte zwar

Code:
PROCEDURE 3vor ;
BEGIN
  vor;
  vor;
  vor;
END;
schreiben aber ohne varibalen :(

Ist wiklich so die wollten Pascal, was "damals" noch sehr neu war vereinfachen.
Nach dem Motto :

Zitat:

Ey, Alta wer braucht Variablen. Das checken wir doch selber nicht.
So wie Bill Gates mal sagte

Zitat:

640 KBytes (Arbeitsspeicher) ist alles, was irgendeine Applikation jemals benötigen sollte
^^ Und heite sind wir wo ? -- Bei 32 GB ?!

Gruß
Christian

Deep-Sea 5. Apr 2011 13:56

AW: Niki Source-Code Design
 
@Sir Rufo:
Darum sagte ich ja auch "allgemein" ^^ ...


Zitat:

Zitat von roboter202 (Beitrag 1093130)
So wie Bill Gates mal sagte
Zitat:

640 KBytes (Arbeitsspeicher) ist alles, was irgendeine Applikation jemals benötigen sollte

Das Zitat ist nicht von Bill Gates (und zudem falsch zitiert ^^). Guckst du: Gates talks @ U.S. News.


Nachtrag:
Hab gerade bemerkt, dass es natürlich nicht "function GoForward(...);" heißen muss, sondern "procedure GoForward(...);". Kommt davon wenn man zu schnell ist ^^

s.h.a.r.k 5. Apr 2011 14:12

AW: Niki Source-Code Design
 
Zitat:

Zitat von Sir Rufo (Beitrag 1093124)
Wie du schon schreibst bekommt man davon Augenkrebs.

Somit ist deine Schreibweise auch nach Pascal StyleGuide ;)

Die Gedankenwege eines Lehres sind manchmal unergründlich, die bauen ein Gliederung auch so auf
Code:
1. foo
a) foo
2. foo
Da fragt man sich, wo waren die während des Studiums :roll:

Wenn ein Lehrer sowas aber an einen Platz schreiben muss, der einfach sehr klein ist, dann kann ich schon verstehen, dass man es in gekürzter Fassung schreibt. Meinst sind Lehrer ja auch keine Informatiker, die somit auch keine Ahnung von schönem Code haben. Von dem her finde ich das durchaus vertretbar ;)

Man sollte allerdings den Lehrer auf sowas hinweisen und er sich eben daraufhin die Mühe machen, die Klasse von entsprechenden Richtlinenen zu unterrichten. Wenn man Dinge lernt, dann sollte man auch Wert auf ein wenig Qualität legen.

Deep-Sea 5. Apr 2011 14:18

AW: Niki Source-Code Design
 
Aber macht es überhaupt einen Unterschied, ob nun in einer Zeile oder in mehreren, wenn bei solchem Kram selbst Variablen als Ausgeburt der Hölle gelten? :roll:

Ich denke da gerne an einen Chemielehrer zurück: "Ihr lernt das jetzt erst mal falsch, weil ihr (noch) zu blöd seid, um es richtig zu lernen." - Aja! Warum lernen wir's dann überhaupt?

s.h.a.r.k 5. Apr 2011 14:22

AW: Niki Source-Code Design
 
Naja, zumindest ein Hinweis darauf, wie man es richtig macht, wäre sehr sehr sinnvoll. Allein aus dem Grund Lesbarkeit ist es eigentlich essentiell, dass pro Zeile ein Befehl steht. Es ist ja auch nicht so, dass die Schüler, wenn man es richtig begründet, zu dumm wären, es zu verstehen. In Chemie und Physik gibts manche Dinge, die ein 16 Jahre alter Schüler nicht unbedingt verstehen kann, da auch einfach die Grundlagen fehlen.

Namenloser 5. Apr 2011 14:24

AW: Niki Source-Code Design
 
[OT]
Zitat:

Zitat von s.h.a.r.k (Beitrag 1093135)
Man sollte allerdings den Lehrer auf sowas hinweisen und er sich eben daraufhin die Mühe machen, die Klasse von entsprechenden Richtlinenen zu unterrichten.

Kann aus eigener Erfahrung nur davon abraten. Es bringt erstens meist sowieso nichts, und zweitens handelt man sich unter Umständen noch eine schlechtere Note ein, weil der Lehrer als unfehlbare Instanz sich dann von einem bedroht fühlt und sich dafür an einem rächt. Es ist wirklich armselig, aber glaub mir, ich habe es schon mehrfach erlebt... (auch wenn ich immer freundlich und vorsichtig drauf hingewiesen habe)

Trifft sicher nicht auf alle zu, aber auf viele...
[/OT]


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:34 Uhr.
Seite 1 von 2  1 2      

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