2008-09-13 17 views
24

Wenn Sie ein persönliches Programmierprojekt starten, was ist Ihr erster Schritt? Ich versuche ein Projekt zu starten, das im Moment nur eine Idee ist. Ich bekomme viele davon, und ich tauche direkt in den Code ein und verliere nach einer Weile das Interesse vollständig oder vergesse einfach das Projekt.Der beste Weg, um ein Projekt zu starten

Wenn Sie anfangen, was ist Ihr erster Schritt? Planst du das Projekt aus? ein Diagramm erstellen? einen Code auf Papier schreiben? Wie starten Sie ein Projekt in einer Weise, von der Sie wissen, dass Sie erfolgreich sein werden?

Antwort

16

Das einzige, was für mich funktioniert: Erstellen Sie die kleinstmögliche Implementierung, die irgendwie nutzbar ist und dann verwenden Sie es.

2

Für meine eigenen Projekte steige ich einfach ein. Natürlich sind diese noch nicht groß genug, um eine Vorplanung zu erfordern. Wenn es sich um ein ernstzunehmendes Projekt oder um einen relativ großen Umfang handelt, ist es immer eine gute Idee, zumindest das, was jeder Teil des Programms tun muss, und einen Überblick darüber, wie sie es tun werden, herauszuspülen.

9

Ich verbringe viel Zeit damit, über die verschiedenen Aspekte des Projekts nachzudenken, bevor ich überhaupt eine Tastatur berühre.

Ich gehe durch das, was ich aus früheren Projekten gelernt haben und es schreiben in verschiedenen Kategorien nach unten (‚technische‘, ‚Förderung‘, usw.)

Personal Projekt oder nicht, habe ich immer Quellcodeverwaltung einrichten. Git, Mercurial of Bazaar sind Beispiele für Tools zur Quellcodeverwaltung, die nicht aufdringlich sind, weil Sie keinen Master-Server einrichten müssen. Geben Sie einfach einen einfachen Befehl ein, um das Projekt zu erstellen, überprüfen Sie Ihre Dateien, Commit. In der Zukunft, wenn Sie eine Ihrer Dateien durcheinander bringen, können Sie "rückgängig machen"

Ich auch ein leichtes Ticket-System eingerichtet, um 1.issues und 2.ideas zu behalten Von "leicht" I Das heißt, wenn zwei Textdokumente mit diesen Listen für Sie arbeiten, ist das gut genug.

Hoffe, das hilft.

0

Zuerst planen Sie den grundlegenden Entwurf der endgültigen Anwendung. Die wichtigsten Funktionen, grundlegende GUI, Programmablauf, etc. Verfeinern Sie das, so dass Sie nicht zu viel auf den ersten, unnötige Funktionen entfernen und hinzufügen, was Sie sonst in der ersten Version möchten. Verwenden Sie dann diese Gliederung, um eine Aufgabenliste zu starten, um die kleinstmögliche Arbeitsversion Ihrer Anwendung zu erstellen. Dann ist es viel einfacher, zusätzliche Funktionen hinzuzufügen und es voll funktionsfähig zu machen.

11

Von 7 Habits of Highly Effective People, Gewohnheit 2: Beginne mit dem Ende im Sinn.

Mit jedem Projekt brauchen Sie ein klares Ziel, einen Punkt, wo Sie sagen können "Ich bin fertig". Ein klares Ergebnis gibt dir die Richtung. Sobald Sie das haben, können Sie planen, wie Sie dorthin gelangen. Die Größe und Komplexität des Projekts bestimmen, wie detailliert Ihr Plan ist, aber im Allgemeinen möchten Sie, dass Sie regelmäßig Fortschritte gegen Ihren Plan machen.

Mein nächster Schritt ist, ein Design der Module, die benötigt werden, und die APIs zwischen jedem Modul zu skizzieren. Wenn die APIs sauber sind, haben die Module wahrscheinlich Recht. Dann fange ich an, die Module zu implementieren und teste so, wie ich gehe.

1

Es kommt auf das Projekt an - wie groß ist es?

Wenn ich den nächsten Notepad-Klon schreibe, tauche ich vielleicht einfach rein, wenn ich mein eigenes Betriebssystem rollen lassen möchte, würde es viel mehr nicht-kodierende Arbeit erfordern.

Ich mache gerne viele Diagramme, das Werkzeug, das ich für die meisten Entwicklung verwende, ist sauberes A4-Papier und ein Stift. Zeichnen Sie die Benutzeroberfläche, den Arbeitsablauf, grundlegende Klassen und die Art und Weise auf, wie Sie Daten speichern werden - dann ist die Codierung nur eine computerlesbare Methode, um zu schreiben, was Sie bereits gezeichnet haben.

Quellensteuerung le.g. SVN ist ein paar Tastenanschläge/Klicks, also ist der Overhead niedrig und der Nutzen ist hoch, es ist praktisch, Dinge zu probieren und einfach zu einem früheren Zustand zurückzukehren, wenn sie nicht funktionieren.

Dann machen Sie einfach das grundlegendste Prototyp, das funktioniert - sobald etwas tatsächlich läuft, ist es viel einfacher, sich zu begeistern und mehr hinzuzufügen. Wenn es überwältigend ist, werde ich finden, dass das Problem in meinem Kopf gelöst ist, und das ist genug.

0

Ich mag Maximillians Antwort .. um etwas zu erweitern, sind meine Person Projekte entwickelt, um etwas zu lösen, an dem ich gerade arbeite. Wenn ich die Wiederholungsarbeit satt habe, entwickle ich eine Lösung. und dann benutze es. Wenn es so ähnlich wie eines meiner früheren Projekte ist, werde ich so viel Code wie möglich ausleihen und versuchen, das Niveau meiner Arbeit zu verbessern, um es professioneller zu machen.

Die Verwendung von Source Control durch Fusion ist ebenfalls wichtig. Nimmt 2 Minuten um SVN zu installieren.

2

Wie die anderen, meine persönliche Projekte haben immer:

  • Endziel
  • Eine Aufgabenliste
  • Kleine nutzbaren Einheiten
  • Quelle Steuerung

Als zusätzlicher Motivator Ich versuche eine Technologie zu benutzen, die ich vorher noch nie benutzt habe. Etwas Neues zu lernen wird generell zum größten Motivator für mich.

0

Wenn Sie es in ein öffentliches Open-Source-Projekt verwandeln wollen, sollte Producing Open Source Software eine gute Lektüre sein (sowohl online als auch im Druck verfügbar).

2

Einfach - Beginnen Sie nicht bei allen Projekten, bei denen Sie wahrscheinlich das Interesse verlieren. Verbringen Sie mehr Zeit, um sicherzustellen, dass Sie sich auf eine Idee festlegen, bevor Sie mit der Arbeit beginnen.

3

Ich stimme mit dem bereits gegebenen Rat:

  • eine minimale Ausführungsplanung, die etwas nützlich als erste vollständige entbindet.
  • Haben Sie konkrete Ziele in Bezug auf das, was Sie erreichen möchten, um etwas zu haben, mit dem Sie Ihren Fortschritt vergleichen können.

Ich würde auch mit einem leichten Design von Ihnen insgesamt Architektur so können Sie eine Roadmap von Anfang haben empfehlen, wie Ihr Produkt zu bauen.

Ich finde es schwierig, etwas zu bauen, wenn ich keine klare Vorstellung davon habe, wie es zumindest auf einer ersten Stufe der Zersetzung aussehen soll. Denken Sie darüber nach, was Sie neben der Funktionalität benötigen: hohe Leistung, Erweiterbarkeitsszenarien, welche ?, Usability-Ziele ?, hohe Skalierbarkeit ?, einfache Bereitstellung und Installierbarkeit? Usw. Fragen Sie sich: Welche Komponenten muss ich in der Reihenfolge erstellen? um diese architektonischen Qualitäten zu erreichen ?.

Und verstehen Sie mich nicht falsch, ich bin ein starker Befürworter der agilen Softwareentwicklung. Sie müssen nicht viel Zeit damit verbringen, Ihre Architektur zu entwerfen (weil sie sich sicherlich weiterentwickeln muss, wenn Sie etwas bauen und Feedback darüber bekommen, was funktioniert und was nicht), aber haben Sie einen Plan, wie Sie Ihr Produkt aufbauen können auf seiner Architektur sollte nützlich sein für die Planung Ihres Fortschritts und Einstellung realistische Ziele.

0

Wenn Ihr persönliches Projekt einem vorhandenen Open-Source-Projekt ähnelt, sollten Sie stattdessen einen Beitrag zu diesem Projekt in Betracht ziehen. Ein paar kleine Beiträge (Bugfixes etc.) sind wertvoller als ein halbfertiges Projekt.

3

Definieren Sie das Ziel für das Projekt. Klingt, als würdest du fast ausschließlich auf die Lösung und nicht auf das Problem schauen.

Ein Programm ist für Sie oder andere nicht nützlich, es sei denn es behebt ein Problem. Code zu schreiben, um sich zu bewegen, ist großartig, aber du scheinst das Interesse und den Fokus zu verlieren, nachdem du angefangen hast - weil du den Code ansiehst, nicht das Problem.

Verbringen Sie einige Zeit in Anbetracht dessen, was Sie dazu gebracht hat, diesen Code zu schreiben. Denken Sie darüber nach, wie andere Menschen das gleiche Bedürfnis entdecken könnten, welcher Weg sie zu der Frustration führen könnte, die Sie gelöst haben.

Dann finden Sie einige dieser Leute und bieten Sie Ihre (Teil-) Lösung, und Sie werden Interesse und Anregungen unter allen generieren.

DAS wird Sie auf Ihrem Projekt weitermachen. Das Miteinander, das Teilen, sogar die Meinungsverschiedenheiten - es sind Leute, die Software brauchen! Erstellen Sie keine Lösungen (Software), die nach einem Problem (Menschen) suchen. Du hast mit DIR begonnen, mit deinem Bedürfnis oder deiner Begierde, aber du hast dich auf den Code konzentriert und den Anstoß für das Projekt verloren.

Das Programmieren macht viel mehr Spaß, wenn Sie Probleme lösen. Aber Sie müssen das Problem vor Augen halten. Teilen des Problems baut Gemeinschaft auf. Darum geht es wirklich, oder?

0

Alle der oben genannten, aber starten Sie den Plan zementieren .....

Go für einige Werkzeuge Smartsheet - auch wenn Sie auf eigene Faust arbeiten Sie einige Stufen und setzen sollten Daten yEd - und Graphik von www.yworks.com

Verwandte Themen