Benutzer-Werkzeuge

Webseiten-Werkzeuge


info:java:cycle

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

info:java:cycle [2010/09/12 12:34]
admin
info:java:cycle [2010/09/12 12:42] (aktuell)
admin
Zeile 9: Zeile 9:
   * Die ''​main''​-Methode ist das erste, was ich schreibe. Sie erzeugt Hilfsobjekte,​ mit denen ich die anderen Methoden teste. Ganz am Schluss wird die ''​main''​ entfernt. Sie gehört normalerweise nicht in eine Klassendatei. Nur in einem Hauptprogramm **ganz** am Schluss eines Projektes braucht man sie wirklich, bei der Entwicklung aber nur zwischendurch.   * Die ''​main''​-Methode ist das erste, was ich schreibe. Sie erzeugt Hilfsobjekte,​ mit denen ich die anderen Methoden teste. Ganz am Schluss wird die ''​main''​ entfernt. Sie gehört normalerweise nicht in eine Klassendatei. Nur in einem Hauptprogramm **ganz** am Schluss eines Projektes braucht man sie wirklich, bei der Entwicklung aber nur zwischendurch.
   * Ich versuche, zu jeder Zeit möglichst wenige Methoden (idealerweise nur eine einzige) zu bearbeiten und parallel aus der ''​main''​ heraus zu testen. (In der 11. Klasse bin ich die meiste Zeit sowieso nur in der ''​main''​.)   * Ich versuche, zu jeder Zeit möglichst wenige Methoden (idealerweise nur eine einzige) zu bearbeiten und parallel aus der ''​main''​ heraus zu testen. (In der 11. Klasse bin ich die meiste Zeit sowieso nur in der ''​main''​.)
-  * Während der Testphase sind Schweinereien erlaubt. Am Ende müssen die aber raus aus der Klasse. System.out.println ist normalerweise eine Schweinerei,​ die höchstens in einer ''​static''​-Methode eine Existenzberechtigung hat.+  * Während der Testphase sind Schweinereien erlaubt. Am Ende müssen die aber raus aus der Klasse. ​''​System.out.println'' ​ist normalerweise eine Schweinerei,​ die höchstens in einer ''​static''​-Methode eine Existenzberechtigung hat.
  
 ====Entwicklungszyklus==== ====Entwicklungszyklus====
-Mit //​Entwicklungszyklus//​ ist die Abfolge von Tätigkeiten ​gemeint, die man durchläuft,​ während man ein Programm implementiert (schreibt).+Der //​Entwicklungszyklus//​ ist die Abfolge von Tätigkeiten,​ die man durchläuft,​ während man ein Programm implementiert (schreibt).
  
 ===Der glückliche,​ einfache Fall=== ===Der glückliche,​ einfache Fall===
Zeile 26: Zeile 26:
     * Ich denke über die erste Meldung genau nach. Wenn ich sie verstanden habe, habe ich einen Fehler gefunden.     * Ich denke über die erste Meldung genau nach. Wenn ich sie verstanden habe, habe ich einen Fehler gefunden.
     * Wenn es ein logischer Fehler ist, dann **probiere ich nicht herum**, sondern denke nach. Herumprobieren führt oft dazu, dass das Programm etwas scheinbar richtig macht. Dafür verhält es sich aber gerade deswegen an einer anderen Stelle falsch. Weil ich nur herumprobiert habe, habe ich aber nichts verstanden und bin noch verwirrter als zuvor.     * Wenn es ein logischer Fehler ist, dann **probiere ich nicht herum**, sondern denke nach. Herumprobieren führt oft dazu, dass das Programm etwas scheinbar richtig macht. Dafür verhält es sich aber gerade deswegen an einer anderen Stelle falsch. Weil ich nur herumprobiert habe, habe ich aber nichts verstanden und bin noch verwirrter als zuvor.
 +  - Wenn ich fertig bin, höre ich auf. Andernfalls weiter bei 4.
  
 ===Der Normalfall=== ===Der Normalfall===
 Bei halbwegs interessanten Programmen stößt man auf Fehler, die man nicht durch einfaches Lesen des Programmtextes herausfindet. Dann muss das Denken aus der aktuellen Bahn katapultiert werden. Die aktuelle Bahn fühlt sich super angenehm an. Man glaubt, dass man den vollen Überblick hat und dass der Computer böswillig ist. Das ist falsch. Bei halbwegs interessanten Programmen stößt man auf Fehler, die man nicht durch einfaches Lesen des Programmtextes herausfindet. Dann muss das Denken aus der aktuellen Bahn katapultiert werden. Die aktuelle Bahn fühlt sich super angenehm an. Man glaubt, dass man den vollen Überblick hat und dass der Computer böswillig ist. Das ist falsch.
-  - Ich baue System.out.println-Befehle ein, um an wichtigen Stellen zu überprüfen,​ ob wirklich das rauskommt, was ich erwarte. Damit kann man einen Fehler sehr gut verfolgen, weshalb diese unscheinbare Technik auch bei Spitzenleuten die beliebteste ist.+  - Ich baue ''​System.out.println''​-Befehle ein, um an wichtigen Stellen zu überprüfen,​ ob wirklich das rauskommt, was ich erwarte. Damit kann man einen Fehler sehr gut verfolgen, weshalb diese unscheinbare Technik auch bei Spitzenleuten die beliebteste ist.
   - Ich erkläre mein Programm einem kritischen Zuhörer. Dessen Zwischenfragen bringen mich auf das Problem oder ich merke während der Erklärung, dass ich Mist erzähle und der Fehler ist gefunden.   - Ich erkläre mein Programm einem kritischen Zuhörer. Dessen Zwischenfragen bringen mich auf das Problem oder ich merke während der Erklärung, dass ich Mist erzähle und der Fehler ist gefunden.
   - Als letzten Ausweg debugge ich das Programm. Dafür brauche ich eine Entwicklungsumgebung,​ die mir erlaubt, alle Variableninhalte zu beobachten, während ich Schritt für Schritt die Zeilen abarbeite. Das macht sogar eine Menge Spaß. Unangenehm ist nur, dass es so lange dauert und dass ich NetBeans starten muss. NetBeans braucht die Dateien aber an einer bestimmten Stelle, was zusätzlich Arbeit macht. Der JavaEditor ist eine Zwischenlösung:​ Der startet schneller, hat aber keine so schönen Anzeigemöglichkeiten.   - Als letzten Ausweg debugge ich das Programm. Dafür brauche ich eine Entwicklungsumgebung,​ die mir erlaubt, alle Variableninhalte zu beobachten, während ich Schritt für Schritt die Zeilen abarbeite. Das macht sogar eine Menge Spaß. Unangenehm ist nur, dass es so lange dauert und dass ich NetBeans starten muss. NetBeans braucht die Dateien aber an einer bestimmten Stelle, was zusätzlich Arbeit macht. Der JavaEditor ist eine Zwischenlösung:​ Der startet schneller, hat aber keine so schönen Anzeigemöglichkeiten.
  
info/java/cycle.1284287698.txt.gz · Zuletzt geändert: 2010/09/12 12:34 von admin