Wie arbeitet ihr Dokumentationen durch ?

Narretei

Neues Mitglied
Im Grunde steht meine Frage bereits im Titel.
Hintergrund meiner Frage ist, das ich mich wirklich schwer damit tue rein aus der Dokumentation heraus beispielsweise ein neues Framework zu lernen oder
aus dem Java Source Code direkt abzuleiten und anzuwenden.

Ich habe mich kürzlich mit der Funktionalen Programmierung in Java befasst und versucht erst mit Google auf die jeweiligen Klassen zu stoßen um danach in der Dokumentation im Source Code mir den Rest zu erschließen.

Das hat selbstverständlich kein Stück funktioniert und deswegen meine Frage an euch - Wie macht ihr das ?
Ein befreundeter Programmierer meinte zu mir, mal so mal so.
Mal schaut er in die Online Dokumentation, manchmal einfach nur in den Source Code.

Das Ding ist halt für mich, das ich wenn ich dann mal Sachen im Source Code direkt nachlese, ich danach oftmals mehr Fragen habe als ich Antworten gefunden hab.
Ist dann auf Dauer doch ne wirklich frustrierende Geschichte.
 

KonradN

Super-Moderator
Mitarbeiter
Wenn man ganz neu zu etwas kommt, dann ist mein Ratschlag, immer nach Introductions und Tutorials zu schauen. Damit findet man dann meist einen guten und schnellen ersten Einstieg.

Danach kommt dann ggf. Dokumentation, um sich Dinge im Detail anzusehen und um einzelne Themen zu vertiefen.

In den Source Code zu schauen würde ich eher ablehnen. JavaDoc kann sehr hilfreich sein, aber konkrete Implementationen? Ich wüsste nicht, wann ich das zum Erlernen eines Frameworks gebraucht hätte. (Oder meint Source Code den Code von Beispielen? Das wäre etwas anderes...)

Ich selbst finde aber, dass nichts über gute Bücher geht. Ein gutes Buch gibt halt nicht einen schnellen Einblick in eine Art und Weise, wie etwas schnell gemacht werden kann sondern es wird (hoffentlich) ein Überblick gegeben und verschiedene Wege etwas verglichen. Weiterhin werden Konzepte erläutert ... oft zwar nur kurz, aber das hilft extrem bei dem Verständnis. Das ist vor allem wichtig, wenn man sich das erste Mal mit einer bestimmten Technologie beschäftigt.

Wenn man etwas vergleichbares schon kennt (Also man hat ein Framework schon gut verstanden und will nun ein ähnliches verwenden), dann reicht ggf. auch nur die Dokumentation. Man sieht halt bei Dokumentation halt oft nur einen Aspekt mit vielen Details und hat aber dann die Möglichkeit, das direkt einzuordnen.

(Beispiel Programmiersprachen - als ich mal Dart ausprobieren wollte, habe ich tatsächlich einfach die language specification überflogen. Die Konzepte selbst hinter der Sprache sind halt bekannt und so konnte man die Angaben direkt einordnen.)

Bezüglich praktischem Vorgehen:

- Gewöhn Dir an, eine eigene Dokumentation zu erstellen, die Dir alles kurz und knapp in einer Struktur, die Du brauchst, gibst. Ein Bekannter nutzt dazu MindMaps, ich selbst schreibe einfache Dokumente.

- Gewöhn Dir an, von Anfang an Praxis mit einzubinden. Also nicht nur lesen und aufschreiben. Auch immer gleich machen! Probier alles aus. Spiel mit Code von Tutorials! Man lernt etwas nur über das doing.

- Besorge Dir Unterstützung! Es ist extrem hilfreich, wenn Du jemanden hast, der Fragen beantworten kann. Das kann prinzipiell auch eine KI sein, so es sich um Frameworks oder Technologien handelt, die frei und offen sind und für die es sehr viel gibt. Bei einer KI ist aber wichtig: Überprüfe Aussagen. Das geht recht gut bei Themen der Softwareentwicklung: die KI soll dir auch Code geben, den Du ausprobieren kannst. Oder die KI soll auch Quellen nennen - dann kannst Du die nutzen zur Vertiefung.

Das wäre so meine Sichtweise. Die ist natürlich sehr individuell geprägt:
  • Ich bin eine Leseratte, die entsprechend schnell Texte und dessen Bedeutung erfassen kann.
  • Ich bin nicht an Lernvideos gewöhnt (Und habe da auch eher schlechte Erfahrungen mit gemacht)
  • Ich bin teilweise sehr theoretisch geprägt ... So habe ich auch die Java Language Specification durchgearbeitet um Java final "zu meistern". Das ist aber etwas, das nichts mit "neues Framework zu lernen" zu tun hat.
 

Narretei

Neues Mitglied
Ah ok ich bin da sehr ähnlich wie du scheinbar und lese auch lieber Bücher und dachte eigentlich das die Docs genau dazu da sind, um sich eben spezifisch zu belesen aber scheinbar ist dem nicht so (oder doch und ich bin nur zu inkompetent, keine Ahnung in JavaScript waren die Docs meist einfacher verfasst).

Ich komme von JavaScript und habe mich daher erstmal schwer mit OOP getan, hab mir dann das Buch "Java ist auch nur eine Insel" gekauft und bin dadurch recht gut in das allgemeine Konzept von Java und in OOP reingekommen.

Nun habe ich festgestellt das für einige Aspekte dann auch in Java lieber die Funktionale Programmierung genutzt wird (WebFlux) und dachte mir "Ok, kann ja jetzt nicht so schwer sein kenn ich ja bereits aus JavaScript" und einiges konnte ich bereits erlernen.

Lambda-Expressions und die Anwendung des FunctionalInterfaces sowie bereits in Java implementierte Interfaces wie Function und BiFunction etc.

Aber gut scheinbar wirds dann wohl doch wieder umfassende Lektüre werden.
Danke für die Hilfe 🙌
 

Oneixee5

Top Contributor
Wenn ich entschieden habe ein neues Framework o.ä. zu testen, dann suche ich als erstes nach "Quickstart" oder "Getting Started" und stelle das nach. Wenn das funktioniert, kann ich das schrittweise vertiefen. Meistens kommt ich von selbst zur Konfiguration - Was kann/muss ich für meine Umgebung/Anforderungen alles so einstellen?
Meistens versuche ich nicht alles im Voraus zu verstehen oder zu erlernen. Die Fragen entstehen bei der Nutzung von selbst. Man darf dann bloß nicht irgendwie wursteln, sondern konsequent nachlesen: ... was muss ich jetzt hier machen / wie löst man das am besten ...
Der "Feinschliff" kommt dann bei den Tests der Anwendung. Dabei fällt dann auf, mit welchen Dingen man sich noch beschäftigen muss.
Die ganze Doku auswendig zu lernen hat imho sowieso keinen Sinn. Jede Version bringt irgend etwas neues mit. Der wichtigste Punkt ist, man muss verstehen was man tut. Nicht irgendwie basteln sondern nachlesen was unklar ist. Nicht nach dem Motto: "6 hours of debugging can save you 5 minutes of reading documentation"
 

White_Fox

Top Contributor
Auch wenn ich weder Informatiker noch Programmierer bin: Ich halte es – leider – auch für den besten Einstieg, erstmal irgendetwas damit zu machen (egal, was es ist).

Dokumentation ist (normalerweise) Dokumentation. Und keine Anleitung. Und auch kein Lehrmaterial. Dokumentation hilft weiter, wenn man eigentlich schon alles Wichtige weiß, und Details nachschlagen will, sie hilft aber nicht wenn man neu anfängt.

Ich habe es gerade mit JavaFX durch. Nach Tutorials vor Jahren irgendwie eine GUI zusammengestöpselt, und vor einigen Monaten das erste Mal eine eigene Componentklasse erstellt (und erst da wirklich was über JavaFX gelernt). Und das alles nur aus Blogartikeln und dergleichen, wo andere Schlaue freundlicherweise ihr Wissen geteilt haben. Sich den Scheiß zusammenzusuchen war absolut nicht einfach und ziemlich langwierig, fand ich jedenfalls. Vielleicht liegt es daran daß ich sonst kaum Softwarehintergrund habe, aber auch Vollblutprogrammierer fangen ja mal irgendwie an.

Und bestehenden Code anzuschauen hat mir exakt gar nichts geholfen. Ich habe mir z.B. die SpreadsheetView-Klasse aus der controlsfx-Bibliothek mal genauer angesehen, die hatte ich vorher verwendet und war damit aber nicht sehr zufrieden. Das Paket besteht aus ca. zwei Handvoll Klassen, die meisten mehrere hundert oder gar tausend Codezeilen groß. Davon lernst du absolut nichts, wenn du nicht ganz weißt nach was du suchst. Wenn du das bereits weißt, dann bist du über das Rooky-Stadium schon hinaus. Nicht, daß die Javadocs der Klassen zu schmal gewesen wären oder so...das ist recht ausführlich und ordentlich gemacht. Aber es hilft einem nur nicht, etwas ähnliches nachbauen zu wollen.

Ich finde aber daß Dokumentation, die einem Neuling keinen Einstieg bietet, einfach Schrott ist. Die Einführung in Konzepte und Abläufe, wie die Entwickler auf die Idee gekommen sind es so umzusetzen wie es ist, gehört da meiner Meinung nach dazu, und zwar direkt an den Anfang. Ein "Hello Framework" nachzutippen und dann schon produktiv werden zu können halte ich eher für bedenklich. Das führt nur dazu daß immer weniger wissen was sie da eigentlich tun.
 

M.L.

Top Contributor
(WebFlux) ...

Lambda-Expressions
Generell ist Programmierung die Frage, wie sich der Compiler (Interpreter, Transpiler,...) verhält, wenn er im Code auf ein Schlüsselwort trifft. Frameworks erleichtern es hierbei von einer Idee zu einem Ziel zu kommen (wobei es nach den Prioritäten des Frameworks zu recherchieren gilt. Bei WebFlux z.B. die Entwicklung reaktiver Anwendungen für das Web ( Quelle ). Mit internen Änderungen oder Erweiterungen ist bei Frameworks immer zu rechnen )
Auf syntaktischer Ebene kann man recherchieren, wann z.B. anonyme Methoden effektiv Sinn machen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Methode, die mit einem Datum arbeitet? Java Basics - Anfänger-Themen 22
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
D Ausgeben welcher Thread gerade Arbeitet Java Basics - Anfänger-Themen 8
A Frage zu einer Methode - Panel arbeitet nicht ordnungsgemäß Java Basics - Anfänger-Themen 2
F Erste Schritte JCreator arbeitet nicht mehr als Eingabeaufforderung. Warum? Java Basics - Anfänger-Themen 5
C Programm arbeitet nicht weiter Java Basics - Anfänger-Themen 2
M split arbeitet nicht richtig Java Basics - Anfänger-Themen 2
G Key Listener arbeitet Fehlerhaft Java Basics - Anfänger-Themen 6
K Jcreator arbeitet wieder aber trotzdem probleme mit de Java Basics - Anfänger-Themen 7
W Konstruktur arbeitet nicht richtig? Java Basics - Anfänger-Themen 3
M Wie arbeitet man mit Interfaces Java Basics - Anfänger-Themen 16
G g.drawLine arbeitet sehr ungenau. Java Basics - Anfänger-Themen 4
F setCursor arbeitet unerwartet Java Basics - Anfänger-Themen 2
S Wie arbeitet iter.next() Java Basics - Anfänger-Themen 3
M Das Betribssystem arbeitet aber es wird nix angezeigt ? Java Basics - Anfänger-Themen 12
H Wie arbeitet man mit Beans? Java Basics - Anfänger-Themen 8
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
X wie bekomme ich durch Eingabeaufforderung definierte double in einen Befehl, welcher 3 erwartete double braucht? Java Basics - Anfänger-Themen 3
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
H Counter durch gepresste Taste nur auf 1 erhöhen und nicht durchzählen lassen Java Basics - Anfänger-Themen 7
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
S IntelliJ geht alle Klassen durch Java Basics - Anfänger-Themen 9
A 1 Leerzeichen durch zwei Leerzeichen ersetzen Java Basics - Anfänger-Themen 4
E Durch Muster in Array iterieren Java Basics - Anfänger-Themen 3
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
A JTextArea entfernen und durch neuen Text ersetzen Java Basics - Anfänger-Themen 8
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
Agent4nobody Programmstart durch aufruf des interpreters funktioniert nicht Java Basics - Anfänger-Themen 14
obiwanke Ziffern durch ASCII Character ersetzen Java Basics - Anfänger-Themen 8
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17
S Durch HashMap iterieren Java Basics - Anfänger-Themen 8
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
K mit <<1 kann man mal 2 machen, mit >>2 geteilt durch zwei und was bewirkt <<<1 und >>>1? Java Basics - Anfänger-Themen 5
A Verarbeiten einer Excel Datei durch das java-Programm Java Basics - Anfänger-Themen 3
C In String, Buchstaben ersetzen durch andere Buchstaben Java Basics - Anfänger-Themen 26
F Initialisieren eines Web-Mp3 Players in Tabs durch "booleans" erst wenn Tab geöffnet wird ...? Java Basics - Anfänger-Themen 1
W Werte durch Konsole einlesen Java Basics - Anfänger-Themen 10
C if-Konstrukt durch switch-Konstrukt ersetzen Java Basics - Anfänger-Themen 14
OZAN86 For Schleife von 1-50 die Zahlen werden durch ein Komma getrennt Java Basics - Anfänger-Themen 10
Bademeister007 Operatoren Alle Zahlen einer ArrayList die durch 5 teilbar ist Java Basics - Anfänger-Themen 2
Y Wie kann ich Konsoleneingaben durch den Scanner mit JUnit 4 testen? Java Basics - Anfänger-Themen 1
yoskaem Text Color durch Klicken eines Buttons in anderer Activity ändern Java Basics - Anfänger-Themen 2
N for Schleife durch Rekursion ersetzen Java Basics - Anfänger-Themen 6
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
L Iterieren durch eine ArrayList. Integer Array wird übergeben Java Basics - Anfänger-Themen 17
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
F Methoden Bitte Helft mir meinen Fehler zu finden. Möchte in diesem Bankenprogramm durch die Konsoleneingabe auswählen welches Konto reduziert und welches erhö Java Basics - Anfänger-Themen 17
E 2D Array - char durch die Matrix "wandern" lassen Java Basics - Anfänger-Themen 7
E Objekt durch Benutzer über Konsole erzeugen - Java Java Basics - Anfänger-Themen 3
F Methode für Teilbarkeit durch 5 tut was anderes.... Java Basics - Anfänger-Themen 3
H Aufruf von Methoden durch Methoden Java Basics - Anfänger-Themen 3
H Wie kann ich durch Methoden definiren? Java Basics - Anfänger-Themen 8
O Mehrfache Scanner-Eingabe durch Komma getrennt Java Basics - Anfänger-Themen 6
M String array durch Eingabe begrenzen Java Basics - Anfänger-Themen 7
J Dynamisches Array durch split()-Funktion? Java Basics - Anfänger-Themen 3
O Typparameter durch Wildcards verallgemeinern Java Basics - Anfänger-Themen 3
G Benutzereingaben durch Zeilenumbruch trennen und in Array individueller Größe speichern Java Basics - Anfänger-Themen 20
B Import Tabelle - Struktur durch User einstellbar Java Basics - Anfänger-Themen 4
K Durch eine Text eingabe etwas Ausführen Java Basics - Anfänger-Themen 5
T Konsolenscanner startet nicht durch Aufruf von Actionlistener Java Basics - Anfänger-Themen 4
A OOP Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen Java Basics - Anfänger-Themen 2
F Ein Datum (int) durch Methode als String formatieren Java Basics - Anfänger-Themen 2
B OOP While Schleife läuft Endlos durch externen aufruf Java Basics - Anfänger-Themen 2
D While Schleife bei Bedarf durch Eingabe stoppen Java Basics - Anfänger-Themen 15
CptK Interface Curser durch Bild ersetzen & MouseListner Java Basics - Anfänger-Themen 2
H OOP eine Zahl immer weiter durch 2 teilen Java Basics - Anfänger-Themen 15
I Null-Überprüfung durch Lambda-Expressions abkürzen Java Basics - Anfänger-Themen 8
W Teilstring durch Teilstring mittels StringBuilder ersetzen Java Basics - Anfänger-Themen 7
N Denksportaufgabe durch Algorithmus lösen Java Basics - Anfänger-Themen 2
H Array mit Zahlen die durch 3 und 5 teilbar sind erstellen Java Basics - Anfänger-Themen 13
D Interface Frame doppelt durch Aufruf der GUI Klasse Java Basics - Anfänger-Themen 1
J Die Zahl herausfinden die durch 2 - 30 Teilbar ist... Java Basics - Anfänger-Themen 17
M For-Schleife durch zwei versch. Variablen begrenzen Java Basics - Anfänger-Themen 27
W JLabel, Farbe durch Listener ändern Java Basics - Anfänger-Themen 6
T Extrahiertes Objekt durch Getter bekommen Java Basics - Anfänger-Themen 2
R Eine Schleife durch eine Methode schließen? Java Basics - Anfänger-Themen 4
N Operatoren Suchen nach einer bestimmten Eingabe (durch Scanner) Java Basics - Anfänger-Themen 7
S For-Schleife durch "ESC" verlassen? Java Basics - Anfänger-Themen 2
C char in String suchen und durch anderen String ersetzen Java Basics - Anfänger-Themen 2
T static String Variable wird nur beim ersten aufruf durch eine Funktion geändert. Java Basics - Anfänger-Themen 16
V Durch 0 teilen Java Basics - Anfänger-Themen 2
V Durch Methode Objekt löschen Java Basics - Anfänger-Themen 2
D Klasse durch eine Schleife wiederholen Java Basics - Anfänger-Themen 1
J Wie lege ich eine durch Random ausgesuchte Zahl in ein Array? Java Basics - Anfänger-Themen 3
S button kommt durch bild Java Basics - Anfänger-Themen 13
M Ein Bild durch Objekterzeugung zeichnen Java Basics - Anfänger-Themen 5
W Objektname durch Tastaturbefehl eingeben Java Basics - Anfänger-Themen 7
K ArrayList durch ArrayList ersetzen Java Basics - Anfänger-Themen 5
G Objektübergabe durch Parameter Java Basics - Anfänger-Themen 3
P Erste Schritte durch MenuBar verschiedene Fenster öffnen Java Basics - Anfänger-Themen 2
T Jlabel durch Text in 2 anderen Jlabels sichtbar machen Java Basics - Anfänger-Themen 4
T Threads Durch threads gestartete Prozesse killen Java Basics - Anfänger-Themen 2
M ArrayList durch OutputStream in Datei Java Basics - Anfänger-Themen 9
K arraygröße durch variablen Konstruktor? Java Basics - Anfänger-Themen 7
F Erste Schritte Hausaufgaben-Prob. - Iterative Prog. Zahlen aufsummieren, wenn durch k>0 teilbar. Java Basics - Anfänger-Themen 5
T Input/Output Programm beenden durch Eingabe Java Basics - Anfänger-Themen 1

Ähnliche Java Themen


Oben