Frage

Ich habe jetzt ein Jahr lang wurde die Programmierung für rund, und all die Dinge, die ich Werke geschrieben habe - es ist nur sehr schlecht aus meiner Sicht geschrieben. Ich würde gerne wissen, ob es irgendwelche (frei) gute Bücher über Software Design gibt, die eine kleine Anleitung für den Anfang Programmierer bieten kann? Ich glaube nicht, dass ich so viele Probleme haben würde, wenn ich ein wenig über die Denkprozesse weiß, die in Software-Design gehen.

War es hilfreich?

Lösung

Lesen Sie Code anderer Leute. Das ist der beste Weg, eine besseren Design-Prinzipien zu lernen. Lesen Leute Code zu Ihrer Arbeit, lesen Leute Code auf Foren, werfen Sie einen Blick auf Open-Source-Projekte ... und nie aufhören Codierung, weil der beste Lehrer die Fehler, die Sie machen auf dem Weg ...

das Buch prüfen Sie, Pragmatische Programmierer von Journeyman zu meistern. Dies ist ein großes Buch zu helfen, diese Wissenslücke füllen Sie suchen.

Andere Tipps

Head First Design Patterns eine sanftere Einführung in die GoF "Design Patterns" Buch sein könnte

Steve McConnell Code Complete ist ein guter Leitfaden für viele Dinge Code, einschließlich, wie gut Strategien in Sprachen zu verwenden, die nicht nativ unterstützt sie.

Martin Fowler Refactoring stark Muster zu entwerfen bezieht, sondern ist ein großer Katalog von so-so-Code, und bessere Möglichkeiten des Schreibens es (ich las es etwa zur gleichen Zeit lese ich „Code Complete“, ein paar Jahre [tsk tsk] vor Design Patterns zu lesen, und „Refactoring“ hatte einen großen Einfluss, wie ich an Code sah ich schrieb . Für die bessere, wie ich denken).

Keiner von ihnen ist „frei“. Aber wie gut der Rat möchten Sie tun? Wenn Sie versuchen, in Ihrer Karriere zu investieren, das ist der billigste Weg, es zu tun.

DRY und YAGNI für Anfänger gute Ausgangspunkte sind, und Sie müssen a href = studieren und zu verstehen < "http://en.wikipedia.org/wiki/Object-oriented_programming" rel = "noreferrer"> OOP .

In Bezug auf Design Patterns (die ein wenig weiter fortgeschritten und abstrakt sind als DRY und OOP) Sie studiert von dem freien Design Patterns kann - Java Companion. Die Tatsache, dass es nicht Python sollten Sie sich nicht die Mühe -. Klassisches Design-Muster sind überall einsetzbar

Wenn Sie Lust haben, weiter zu gehen einen Blick auf DDD ( free DDD Buch von Eric Evans ) und natürlich Unit Testing en.wikipedia.org/wiki/Unit_testing, die es glauben oder nicht, wird Ihr Code und Sie als Designer verbessern.

Klingt wie Sie ein Buch über Design Patterns wollen.

Schauen Sie sich auf: Design Patterns - Elemente wiederverwendbarer objektorientierter Software . obwohl Warnung ist Python nicht spezifisch.

Sie könnte auch in diesem Online-Ressource Python Design-Muster.

Benutzer Stackoverflow @ S.Lott hat auch eine Menge wirklich gute Python-Ressourcen, die er geschrieben hat. Sie können sie auf seine Seite sehen Stackoverflow.

Ein paar andere Prinzipien, die erwähnenswert sein kann:

MIST: Die vier Prinzipien des Sound Design - Für die Verwendbarkeit dies sind gute Grundsätze zu wissen,

.

Pablos Thema des Monats - März:. SOLID Prinzipien - hat einige gute Ideen und

Mit einem Jahr Programmiererfahrung, werde ich nicht Design Patterns vorschlagen (oder Head First Design Patterns), wie ich denke, Design Patterns (die Konzepte) wird am besten verarbeitet, sobald Sie mehr Programmiererfahrung haben, vielleicht mehr wie 5-10 Jahre Erfahrung .

ich glaube, das Buch, Der Pragmatische Programmierer: von Journeyman zum Master von < a href = "http://blog.toolshed.com/" rel = "nofollow noreferrer"> Andrew Hunt und David Thomas ist vielleicht die beste Wahl für die meisten für Ihr Geld auf der Ebene Sie sich gerade befinden. Hier ist ein ausgezeichnetes Zusammenfassung der Themen und Inhalte (aus Jeff Atwood bei Coding Horror). Verwenden Sie Fernleihe , wenn Sie sich nicht leisten können Ihre eigene Kopie zu kaufen.

Cover von The Pragmatische Programmierer

Zwei weitere Titel, die auch sprachunabhängig sind noch klassische Bücher sehr für neue Programmierer empfohlen, die Sie im Auge sind Der Mythos der Mann-Monat (Jubiläumsausgabe veröffentlicht 1995) von Fred Brooks, und Code Complete (zweite Auflage) von Steven McConnell.

werden diese Bücher helfen, Ihre Programmierkenntnisse zu erweitern, ohne dass Sie auf Ihrem aktuellen Stand der Entwicklung überwältigend und für eine solide Grundlage bilden für einen besseren Programmierer zu werden. Alle diese Bücher sind ständig auf der Oberseite des empfohlen Programmierung

Dieses Buch Check out: Head First Design Patterns ... wahrsten Sinne des Wortes. Hör zu. Aus der Bibliothek.

Es ist kein Buch (Bücher so passé sind), aber es ist auf jeden Fall gut, ein paar Stunden zu verbringen durch das Pattern Repository Portland.

Es ist zwar auch kein Tutorial, es große Code-Beispiele hat, und ebenso große Diskussion über Design Patterns und Programmierung im Allgemeinen. Es ist eine ausgezeichnete Ressource auf dem Lernen, wie man wie ein Programmierer zu denken.

Ich schlage vor, Struktur und Interpretation von Computerprogrammen , die on-line in Buchform sowie ein online-Kurs.

Es ist kein Buch über Design Patterns, aber es werden Ihnen helfen, gute Grundlagen für die Erstellung von Anwendungen zu entwickeln.

Ich würde auf jeden Fall ein weiteres Buch hinzuzufügen. Ich denke, dass Clean Code von Bob Martin ist ein sehr gutes Buch, Ihnen zu sagen wie Sie schreiben Code, wartbar ist. Es führt einige einfache Regeln, den Code führt, die sehr gut strukturiert und lesbar sind.

Der beste Weg, um gute Software-Design zu lernen, ist Code in einer Reihe von verschiedenen Möglichkeiten, zu schreiben, lesen Sie Code von anderen geschrieben, und lernen, was funktioniert und was nicht aus erster Hand.

Wenn Sie Code schreiben, die folgenden Fragen stellen:

  1. Wie werde ich es testen?
  2. Wie werde ich es debuggen?
  3. Was finde ich mich immer und immer wieder tun?

Ich bin sicher, dass andere Menschen andere Ideen haben, auf der Grundlage ihrer eigenen Erfahrungen.

Head First Design Patterns würde ein guter Ort für ein starten Anfänger. Es ist wahrscheinlich leichter zu bekommen als die in Gang von vier Buch.

Sie sollten wahrscheinlich mehr über die objektorientierte Programmierung lernen. Hier ist ein schönes Tutorial, das auf Python basiert:

OOP Tutorial in Python

Objektorientierte Programmierung ist eine Art und Weise Sie Programme in einer Weise zu organisieren, dass die Dinge in der Problem spiegelt Sie versuchen zu lösen.

HIH

... richie

Erfahren Sie eine andere Sprache! Ich liebe Python, und, trotz allem, was jeder sagt, mein Python besser ist, weil ich weiß, java . (Einige Leute beschweren sich, dass mit Java Start verursacht man zunächst klobig Python zu schreiben, aber wenn Sie bereits wissen, mehr oder weniger die einfache Möglichkeit, etwas in Python zu tun, werden Sie von dieser sicher sein.)

Lassen Sie mich hier ein wenig Kettensäge Operation tun. Es ist leicht, das erste Mal schreiben Python. Ich schreibe es in vim, weil ich es kann und weil ich vim lieben. Es ist einfach, Java zu erhalten und Refactoring, wenn Sie einen IDE haben. Ich schreibe Java in Eclipse, weil ich ohne es aussichtslos wäre. Aber der Punkt ist, schriftlich in einer Sprache, die Sie Abstraktionen mit einem Werkzeug zu verwenden, zwingt die Abstraktionen erleichtert werden langsam Ihr Gehirn Form abstrakter codieren . Sie werden das zurück zu Python bringen, obwohl die bevorzugten Abstraktionen etwas anders sein wird.

Wow, frage ich mich, warum niemand bis jetzt gesagt, dass U wirklich nicht zu tief in die Theorie gehen sollte. Nach einem Jahr ist Ur-Code hässlich. Nichts dagegen zu tun. Wenn U die meisten Dinge getan U beenden wollen, ist es schon sehr genial. Aber U kann nicht Ur Gehirn mit Theorie betrügen. Gehen Sie einfach auf das Schreiben und zürnen über Ur-Code. Das ist der beste Weg, besser zu schreiben. Nehmen Sie Ur Zeit, darüber nachzudenken, wie in einer besser lesbaren / verwendbar / wartbar Art und Weise arbeitet, Code zu schreiben, so oft wie U kann. UND: Lesen anderer Leute Code + Bewertungen auf Ur-Code erhalten! Es sollte es sein, die Menschen aus, die besser schreiben können dann U. mit gutem Beispiel lernen!

Und vielleicht 20% der Ur Programmierzeit (das heißt, wenn Code U jeden Tag, nicht mehr als 2 Monate im Jahr!) Etwas Theorie erhalten.

Warum nicht mit Massen der Theorie beginnen? U Ur Motivation und Ur Instinkt töten. Aber wenn U sitzen und versuchen, ein Problem zu lösen, ist es meist über den richtigen Instinkt ist. Mit zu viel Theorie überdenken U das Problem und Ur-Lösungen. Aber Ur Instinkt wird auf der Ebene der Ur Erfahrung noch, egal wie viel U lesen.

(sorry, wenn schlechtes Englisch. Nicht mein mothertounge)

Holen Sie sich das Gang von vier Buch - Design Patterns .. Aber bitte nicht folgen über sie und versucht Singleton zu verwenden überall:)

weiß es einfach und vernünftig verwenden. danach auch guten Open-Source-Code schauen und versuchen, aus ihren Strukturen zu lernen .. Ich schlage vor, Google Code und Source

Je nach Hintergrund (und bis zu einem gewissen Grad, Erfahrung) Sie mögen vielleicht auch darüber, wie grundlegende Algorithmen suchen. Ein Buch wie Introduction to Algorithms ist ein guter Anfang .

Abgesehen davon, ich stimme auch für Head First Design Patterns. Das GoF funktioniert besser als Referenz später.

Vergessen Sie die Bücher. Nach meiner Erfahrung können manche Menschen tun Design (die Zeit als Lehrer und Autor von OO-Design-Kursen umfasst) und einige pople können nicht - es ist ein Talent, wie ein Bildhauer zu sein. Allenfalls werden Bücher zum Thema lesen können Sie schlecht entwerfen, wenn Sie nicht das Talent haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top