Seltsame Kodierungsphase Ich gehe durch [geschlossen]

7

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?

    
Geo 05.02.2009, 18:30
quelle

12 Antworten

18

Es hört sich an, als ob Sie von einem von mehreren möglichen "Syndromen" (oder vielleicht mehr als einem) angetrieben werden.

  1. Nicht erfundenes Syndrom (NIHS). Dies ist, wo niemand Code ist gut genug, oder macht Dinge in der Art, wie Sie sie wollen. Also denkst du, du kannst es besser machen.
  2. Wie funktioniert es? Syndrom (HDIWS). Das ist, wo Sie von einem Programm fasziniert sind und verstehen wollen, wie es funktioniert, so dass Sie im Grunde damit fertig sind, es selbst zu schreiben.
  3. Abbeißen mehr als Sie können Kauen-Syndrom (BOMTYCCS). Das ist der Punkt, an dem du denkst: "Das kann nicht zu schwer sein, also schreibe ich es einfach selbst, dann weiß ich, was es macht". Dann wirst du damit fertig, genug um es zu arbeiten, und du erkennst, dass dein Code lächerlich ist und du zu viele Kompromisse gemacht hast, um es schnell zu erledigen, also wirf es weg.
  4. Zu billig, um es zu kaufen, so dass Sie herausfinden, dass Sie es billiger Syndrom (TCTBISYFYCBICS) bauen können. Der Name spricht für sich. Das Problem ist, dass du etwas fertig wirst, dann merkst du, dass du oben in # 3 eingefallen bist und denkst, dass deine Zeit mehr wert ist als alles, was es ist.

Ich habe von all dem gelitten, und mehr .. (Wie der Klassiker "Need to create a acroynm für alles-Syndrom (NTCAAFES)";)

    
Erik Funkenbusch 05.02.2009, 20:02
quelle
7

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.

    
Mike 05.02.2009 18:41
quelle
5

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.

    
Niyaz 05.02.2009 18:44
quelle
3

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.

    
Andy Baird 05.02.2009 18:50
quelle
3

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:

  • Verschwenden Sie nicht zu viel Zeit,
  • stellen Sie sicher, dass Sie freigeben, was Sie Quelle öffnen können,

Aber ich sehe es an wie ein Padawan, der seinen eigenen Lichtschwert baut. Es muss getan werden.

    
Ali Afshar 05.02.2009 23:38
quelle
3

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 ...

    
Paul W Homer 05.02.2009 19:30
quelle
2

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.

    
Pyrolistical 05.02.2009 18:40
quelle
2

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.

    
ChrisA 05.02.2009 18:51
quelle
2

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).

    
joel.neely 22.02.2009 14:34
quelle
1

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.

    
eutocius 05.02.2009 19:08
quelle
1

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.

    
Dmitri Nesteruk 05.02.2009 19:14
quelle
1

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.

>     
Tim Perry 22.02.2009 14:16
quelle

Tags und Links