Forum: Mikrocontroller und Digitale Elektronik -richtig- und -strukturiert- programmiern lernen


von Lars (Gast)


Lesenswert?

hallo

Da ich aus einem völlig anderen Berufsfeld komme, habe ich mir jegliche 
Programmierkenntnisse (C++ auf AVR) selbst angeeignet. Meistens aufgrund 
von Datenblättern oder Themen in versch. Foren.

Meine Codes waren bislang immer recht klein. Sie funktionierten zwar 
aber waren zugegeben grauenhaft programmiert. Um größere Projekte 
anzugehen zu können, möchte ich nun vor allem lernen, wie man 
strukturiert programmiert.
Könnt ihr mir dazu gute Quellen respektive Bücher empfehlen?

von alesi (Gast)


Lesenswert?

Lars schrieb:
> Um größere Projekte
> anzugehen zu können, möchte ich nun vor allem lernen, wie man
> strukturiert programmiert.
> Könnt ihr mir dazu gute Quellen respektive Bücher empfehlen?

Auch wenn viele hier sagen werden, dass passt nicht auf
Mikrocontroller und C, so finde ich für die Grundlagen des
Programmierens diese beiden Quellen gut:

Structure and Interpretation of Computer Programs, by Abelson,
Sussman, and Sussman

http://mitpress.mit.edu/sicp/


Die Macht der Abstraktion von Herbert Klaeren und Michael Sperber

http://www.deinprogramm.de/dmda/index.html

von Sven S. (boldie)


Lesenswert?

Hi,

ich kann dir einige Bücher empfehlen, die mir geholfen haben. Am Besten 
lernt man das ganze, indem man sich ein kleines Projekt besorgt und 
verschiedenes daran ausprobiert. Dann bekommt man auch ein Gefühl, 
welche Art von Architekturentwurf für ein Problem günstig ist.

Clean Code: Das meiste ist einleuchtend, aber es wird nur allzu oft 
vergessen.
http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882

Refactoring, oder wie baut man um und räumt auf:
http://refactoring.com/

Enterprise Architektur, würde ich aber nur empfehlen, wenn es in 
Richtung Datenbanken o.ä. geht: http://martinfowler.com/books/eaa.html

Wenn du in der Embedded Richtung unterwegs bist, MISRA Coding standard, 
ist darauf ausgelegt, Fehler zu vermeiden, die durch schlampigen Code 
oder Konstrukte mit Seiteneffekten entstehen.

Ansonsten üben, üben, üben.

Aus meinem Alltag kann ich dir sagen, größere Projekte bestehen im 
wesentlichen aus Aufräumen und dann was einbauen und zwar immer wieder. 
Vergisst man das Aufräumen, ist es wie mit einem Keller, irgendwann 
findet man nicht mehr oder es geht nichts mehr.

von Karl H. (kbuchegg)


Lesenswert?

Lars schrieb:

> Meine Codes waren bislang immer recht klein. Sie funktionierten zwar
> aber waren zugegeben grauenhaft programmiert.

Das wäre doch schon mal ein Ansatzpunkt.
Nimm dir alte Projekte her, identifiziere was deiner Meinung nach 
grauenhaft ist und räume da drinn auf. Wenn dir ein paar 
unterschiedliche Möglichkeiten einfallen, was du alles am Code verändern 
könntest um ihn besser zu machen, dann probier sie einfach durch.

> Um größere Projekte
> anzugehen zu können, möchte ich nun vor allem lernen, wie man
> strukturiert programmiert.

Üben, üben, üben.
Das ist wie Bilder malen. Du kannst hunderte Bücher über Bildkomposition 
lesen. Letzten Endes ist es eine Frage der Übung.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.