In letzter Zeit habe ich eine ziemlich komische Phase durchgemacht. Ich habe das Bedürfnis, alle Werkzeuge, die ich verwende (Texteditoren, IDEs, Bibliotheken / Module), zu schreiben / neu zu schreiben, und ich weiß nicht warum.
Auch wenn dies als eine gute Sache angesehen werden kann (weil ich viele Dinge im Prozess lerne und meine Software-Design-Fähigkeiten sich ständig verbessern),
Der seltsamste Teil ist, dass ich den ganzen Code wegwerfe, nachdem ich fertig bin, also arbeite ich irgendwie vergebens. Ich bin nie mit dem Code zufrieden, den ich schreibe. Hast du das auch schon mal experimentiert? Wie bist du darüber hinweggekommen?
Es hört sich an, als ob Sie von einem von mehreren möglichen "Syndromen" (oder vielleicht mehr als einem) angetrieben werden.
Ich habe von all dem gelitten, und mehr .. (Wie der Klassiker "Need to create a acroynm für alles-Syndrom (NTCAAFES)";)
Ich mache das die ganze Zeit (na ja, außer dem Wegwerfen). Persönlich begann ich dies früh in meinem Programmierlernen (als ich ein Student war); Es hat den Punkt bekommen, an dem ich den Java Core Quellcode untersuchen würde und wenn ich es nicht mag, würde ich es selbst machen / erweitern. Es kam zu dem Punkt, an dem der Witz der laufenden Klasse war, dass ich Java neu erfinden würde.
Persönlich bin ich nie darüber hinweg gekommen ... Stattdessen habe ich neue Wege gefunden, um das zu meinem Vorteil zu nutzen. Zum Beispiel, anstatt Dinge einfach neu zu erfinden, fand ich heraus, dass es Dinge gab, die ich wollte und die nirgendwo sonst verfügbar waren, also würde ich sie für mich selbst machen. Mein erstes solches Projekt war ein Chat-Programm. Sicher gab es viele, aber das war der einzige, von dem mein Lehrer nichts wusste (hehe). Sicherlich habe ich viel über Netzwerkprotokolle gelernt, aber sobald es "fertig" war, war meine erste Aktion, es an alle meine Freunde zu schicken und wir plauderten, während der Lehrer vortrug ... Bald genug hat er davon erfahren und hat es getan seitdem zwang er alle seine Schüler, ihre Monitore auszuschalten, während er redete, aber es hat Spaß gemacht, solange es gedauert hat.
Seitdem habe ich immer wieder eigene Projekte entwickelt, die mir nützlich sind, mindestens einen Aspekt, den ich auf diesem Weg lernen muss, und einen oder mehrere Aspekte davon, dass es kein aktuelles Programm gibt das löst das Problem für mich kostenlos.
Alles in allem empfehle ich, anstatt zu versuchen, die IDE neu zu erfinden und dann Ihren Code wegzuschmeißen, versuchen Sie, ein Projekt oder Problem zu finden, das Sie selbst lösen und erneut verwenden möchten. Ich glaube, Hundefutter (mit Ihren eigenen Programmen) ist das Beste, was jeder Programmierer erreichen kann.
Setzen Sie den Code, den Sie schreiben, in eine Website und machen Sie sie open source.
Lassen Sie andere den Code besprechen und verbessern.
Dies hilft Ihnen, Ihre Programmierkenntnisse zu verbessern, während Sie der Community etwas zurückgeben.
Später wirst du erstaunt sein zu sehen, dass dein Code besser geworden ist als das, als du ihn verlassen hast.
Ich denke, die Natur von uns als Programmierspezies ist es, alles kontrollieren zu wollen. Wir sind totale Kontrollfreaks. Jeder hat viele Gründe, der Arbeit eines anderen nicht zu vertrauen. Jeder gegebene Tag im Büro kann ein Beweis dafür sein.
Im Allgemeinen liegen Sie jedoch falsch. Die Chancen stehen gut, dass tool / library / IDE / was auch immer von einem Team entwickelt wurde, das viel mehr Zeit darauf verwendet, als Sie es können. Sicher, es hat seine Fehler von außen, aber wenn du mit deiner Version fertig bist, wirst du wahrscheinlich feststellen, dass deine eigenen ein paar Fehler hat.
Es ist nur etwas, mit dem Sie sich arrangieren müssen.
Im Nachhinein ist das keine völlig schlechte Angewohnheit. Es bringt Sie aus Ihrem normalen Programmierbereich heraus und gibt Ihnen Zugang zu anderen Problemen. Letztendlich wirst du vielseitiger dafür sein. Wenn Sie es aus dieser Perspektive tun und es mit echter Produktivität mischen, denke ich, dass es vollkommen gesund ist.
Ich empfehle Ihnen dies. Sie wären kein guter Programmierer, wenn Sie nicht von der Perfektion Ihrer Werkzeuge besessen wären und sich auch wundern, wie sie hergestellt wurden, also:
Aber ich sehe es an wie ein Padawan, der seinen eigenen Lichtschwert baut. Es muss getan werden.
Sie haben sich für die rote Pille entschieden, nicht wahr? Jemand hätte es dir NICHT sagen sollen.
Das Problem ist, dass wenn Sie wirklich Computer wirklich mögen und Sie viel zu viel von Ihrem Leben an sie denken, gelangen Sie an diesen Punkt, wo der gesamte zufällige / irrationale Zustand der Softwareentwicklung ist - - das willkürlich komplexe Arbeits-Chaos - scheint deutlich viel mehr gewunden zu sein als notwendig , auch wenn Sie nicht wissen, was notwendig ist.
Es gibt darunter ein erstaunliches Tool, das nur darauf wartet, freigelassen zu werden. Es neckt dich von Zeit zu Zeit, versteckt sich in verschiedenen Programmen, eingebettet mit verschiedenen Datenbits. Tantalizing Funktionalität, dass, wenn Sie nur einen echten Weg finden könnten, um alle zusammen zu einem großen super-coolen System zu verbinden, könnten Sie ...
Es ist dieser rein mathematische Sinn, dass Computer tatsächlich etwas Nimm jetzt die blaue Pille und kehre zur Arbeit zurück ...
Wenn Sie nur Ihre vorhandenen Werkzeuge duplizieren, gibt es wenig Wert. Aber wenn es eine Idee gibt, wie man es besser macht, auch nur in einer Hinsicht, ist es das wert.
Auf diese Weise haben Sie am Ende ein etwas besseres Werkzeug und Sie werfen es nicht einfach weg.
Ich machte eine ähnliche Phase mit Tools, aber dann interessierte ich mich mehr für andere Themen wie Grafik und Spiele.
Ich schreibe nur Werkzeuge, wenn es mir Zeit spart (oder natürlich mehr in der gleichen Zeit).
Es gibt genug Anwendungscode, der geschrieben werden kann, ohne auch Werkzeuge schreiben zu müssen.
Wenn du es in deiner Freizeit machst, dann jedes für sich, denke ich, aber ich finde, dass die Notwendigkeit, aus dem Code, den ich schreibe, Geld zu machen, mich auf das Wesentliche konzentriert.
Wir Programmierer sind Flow-Junkies. Wir genießen die mentalen Zustände, die mit der Problemlösung und dem Fortschritt in Richtung Lösung verbunden sind. Manchmal, wenn die Projekte bei der Arbeit hängen bleiben - aus einer Vielzahl von Gründen - ist es verlockend, sich an Side-Projekte zu wenden, um den Flow-Fix zu erhalten.
Das ist nicht unbedingt schlecht, solange Sie Ihre Werkzeuge schärfen oder etwas lernen, und es braucht keine Zeit weg von anderen Aufgaben (Arbeit oder Beziehung).
Es klingt auch so, als wären Sie mit der anderen Arbeit, die Sie gerade machen, wirklich unzufrieden. Ich finde, wenn ich meinen Job nicht genieße, tendiere ich dazu, etwas anderes zu tun, und werde besonders auf Dinge fixiert, die ich als Zeitverschwender entschuldigen kann, weil sie oberflächlich produktiv sind. Dinge wie das Zurückgehen und Aufräumen von Code, der wirklich nur einmal ad-hoc war, umschreiben, was bereits funktioniert, und meine eigenen "Verbesserungen" an Tools machen. Wenn ich recht habe, macht es Sinn, dass du es dann wegwirfst / weggehst / etwas anderes findest, weil du es nur tust, um andere Arbeit zu vermeiden.
Ich habe es manchmal erlebt. Wenn ich zum Beispiel HTML-Dokumente zur Veröffentlichung vorbereitete, fühlte ich mich gezwungen, mein eigenes Tool zu schreiben, um es so zu machen, wie ich es wollte . Es ist naheliegend, die Welt besser zu machen. Wenn Sie diesen Drang fühlen - ich schlage vor, Sie gehen dafür.
Ich denke, das ist wahrscheinlich eine gute Sache, wenn es nicht im Wege steht, etwas zu erledigen.
Aber fang es nicht an, auch wenn es Müll ist, leg es irgendwo ins Netz, und wenn jemand anderes versucht, dasselbe zu tun, können sie dein sehen und zumindest vermeiden, dieselben Fehler zu machen.
>Tags und Links language-agnostic