Liebes Forum,
ich bin neu hier, daher erstmal kurz ein paar Worte zu meinem Background: ich bin Quereinsteiger in die Welt der Programmierung, habe im Python-Eck das "Laufen" gelernt. Nach einem eher erfolglosen Versuch mit Java habe ich auf Python zurückgegriffen, da mir die Literatur für den Totalnoob hier einfach mehr zusagte. Beruflich bin ich im Bereich Mainframe/prozedurale Programmierung unterwegs.
Nun will ich meinen Fokus von Python wieder zurück auf Java legen, aus mehreren Gründen (u.a. ist sauberes Softwaredesign m.E. mit Java besser zu lernen, weil es weniger "liberal" in einigen Bereichen ist als Python, außerdem gibt es mehr weiterführende Literatur).
Ich bin absolut kein Profi, würde mich maximal als "fortgeschrittenen Anfänger" bezeichnen: die Basics kenne ich, aber vieles habe ich nicht oder noch nicht richtig verstanden bzw. ausprobiert. Das betrifft bestimmte Mechanismen wie Interfaces oder Threads, aber insbesondere saubere OO Programmierung und Design. Meine Ziel ist daher hauptsächlich: Sauberes Softwaredesign (kein Klassen-Spaghettihaufen, nicht einfach drauflos schreiben). Oder: wann setze ich eine Klasse und wann nicht? Wann verwende ich Vererbung – und wann nicht? Etc.
Meine konkrete Frage: wie kann ich ein Gefühl dafür entwickeln, wie man ein Programm sauber designt und umsetzt?
Ich habe mir überlegt, erstmal bestehenden Code zu lesen und zu verstehen. Frage ist jedoch, was sich dafür anbietet. Das betreffende Programm sollte nicht zu komplex sein, Kommentare oder noch besser: ein Tutorial, in dem Schritt für Schritt der Entwurf und die Implementierung der Software erläutert werden, wären optimal. Kennt ihr sowas?
Mir ist klar, dass man programmieren nur durch programmieren lernt, aber das wird dann schwierig, wenn es an eher abstrakte Themen wie sauberes Design geht. In Python habe ich z.B. ein Lernprojekt, das ich insgesamt 5 mal von Grund auf neu geschrieben habe. Jede Version hat funktioniert, keine war zufriedenstellend.
Leider habe ich keine Bekannten oder Kollegen, die programmieren können oder Zeit hätten, mir bei meinem Anliegen zu helfen…
ich bin neu hier, daher erstmal kurz ein paar Worte zu meinem Background: ich bin Quereinsteiger in die Welt der Programmierung, habe im Python-Eck das "Laufen" gelernt. Nach einem eher erfolglosen Versuch mit Java habe ich auf Python zurückgegriffen, da mir die Literatur für den Totalnoob hier einfach mehr zusagte. Beruflich bin ich im Bereich Mainframe/prozedurale Programmierung unterwegs.
Nun will ich meinen Fokus von Python wieder zurück auf Java legen, aus mehreren Gründen (u.a. ist sauberes Softwaredesign m.E. mit Java besser zu lernen, weil es weniger "liberal" in einigen Bereichen ist als Python, außerdem gibt es mehr weiterführende Literatur).
Ich bin absolut kein Profi, würde mich maximal als "fortgeschrittenen Anfänger" bezeichnen: die Basics kenne ich, aber vieles habe ich nicht oder noch nicht richtig verstanden bzw. ausprobiert. Das betrifft bestimmte Mechanismen wie Interfaces oder Threads, aber insbesondere saubere OO Programmierung und Design. Meine Ziel ist daher hauptsächlich: Sauberes Softwaredesign (kein Klassen-Spaghettihaufen, nicht einfach drauflos schreiben). Oder: wann setze ich eine Klasse und wann nicht? Wann verwende ich Vererbung – und wann nicht? Etc.
Meine konkrete Frage: wie kann ich ein Gefühl dafür entwickeln, wie man ein Programm sauber designt und umsetzt?
Ich habe mir überlegt, erstmal bestehenden Code zu lesen und zu verstehen. Frage ist jedoch, was sich dafür anbietet. Das betreffende Programm sollte nicht zu komplex sein, Kommentare oder noch besser: ein Tutorial, in dem Schritt für Schritt der Entwurf und die Implementierung der Software erläutert werden, wären optimal. Kennt ihr sowas?
Mir ist klar, dass man programmieren nur durch programmieren lernt, aber das wird dann schwierig, wenn es an eher abstrakte Themen wie sauberes Design geht. In Python habe ich z.B. ein Lernprojekt, das ich insgesamt 5 mal von Grund auf neu geschrieben habe. Jede Version hat funktioniert, keine war zufriedenstellend.
Leider habe ich keine Bekannten oder Kollegen, die programmieren können oder Zeit hätten, mir bei meinem Anliegen zu helfen…