Vor einiger Zeit habe ich ein sehr kleines Python-Skript geschrieben, das in regelmäßigen Abständen einen XML-Feed auf neue Einträge überprüft und den Benutzer auf neue Einträge aufmerksam gemacht, wenn diese vorhanden sind. Ich habe dies für mich selbst geschrieben, es war also im Wesentlichen ein konsolenbasiertes Programm, das jeder, der mit einer Konsolenschnittstelle vertraut ist, hätte verwenden können.
Nach einer Weile entschied ich, dass es für andere Menschen von größerem Nutzen sein könnte und begann, es aufzuräumen, Eingaben zu bereinigen, Fehler zu beseitigen. Mir fiel auf, dass ich, weil ich das Skript geschrieben hatte, wusste, wie man es effizient, genau usw. verwendet. Andere konnten es nicht, also begann ich, eine GUI hinzuzufügen. Dies begann als einfaches Menü und wurde dann zu einer umfassenderen Benutzeroberfläche mit einer Benutzeroberfläche und einem Optionsmenü erweitert. Ich habe dann gespeicherte Benutzereinstellungen und auch Speicher für zuvor durchsuchte XML-Feeds hinzugefügt, um die wiederholte Suche zu beschleunigen.
Ich habe die Protokollierung hinzugefügt, um das Debuggen der Anwendung für den Fall eines Fehlers zu unterstützen, die Anwendung auf die neueste verfügbare stabile Python-Codebasis für die von mir gewählte Plattform gebracht und die Dialogfunktionen verbessert.
Ich habe meinen Code fehlerbereinigt und klar kommentiert, und dennoch habe ich Dinge, von denen ich denke, dass sie getan werden können, um die App zu verbessern, bevor ich sie Alphatestern zur Verfügung stelle. Es ist weit entfernt von meinem ursprünglichen 20-30-Zeilen-Skript. Was ich erwartet hatte, brauchte ich nur ein oder zwei Stunden, um vom Proof-of-Concept zu einem akzeptablen Anwendungsprogramm zu gelangen. (Ich bin immer noch ein Noob, und das Zeug dauert lange, aber immer noch ...)
Woher weißt du, wann du aufhören sollst, Dinge hinzuzufügen / zu optimieren / zu reparieren und dein Baby im Freien krabbeln lassen sollst?