Um ein fauler Entwickler zu sein oder kein fauler Entwickler zu sein? [geschlossen]

7

Bin ich ein fauler Entwickler? Ist es faul, automatisierte Tools wie Codegeneratoren und ähnliches zu verwenden?

Nun könnte ich, wenn nötig, alle Datenschichten und Entitäten erstellen, die ich brauchte, aber ich wähle CodeSmith, um meine Datenlayer und Entitäten zu generieren. Ich benutze auch Resharper und ich würde sagen, dass es mit MSDeploy kämpft, welches zuerst nach Visual Studio installiert wird. Wieder wenn ich müsste, könnte ich ohne es codieren, aber lieber nicht.

Diese beiden Tools sind aus meiner Sicht keine Probleme, da sie die Ausgabe massiv verbessern.

Aber ist das faul? Ich bin sicher, es gibt Puristen da draußen, die sagen würden, dass alles von dir geschrieben werden sollte, damit du weißt, was alles läuft, aber wenn du den Code durchlesen kannst und siehst, was passiert, ist das okay?

Also bin ich faul oder benutze ich einfach alle Karten in meiner Hand?

    
JamesStuddart 19.10.2009, 12:37
quelle

18 Antworten

23

In Programmierern ist Faulheit eine Tugend , also keine Sorge.

    
innaM 19.10.2009, 12:26
quelle
11

Es ist nur faul, wenn Sie ein Tool verwenden, um Code zu erstellen und unverändert zu verwenden, ohne zu überprüfen, ob der Code Ihren Anforderungen entspricht und Ihren Standards entspricht.

    
Mayo 19.10.2009 12:25
quelle
5

Sie müssen das Rad nicht n mal neu erfinden, das ist oft genug. Kurz gesagt würde ich sagen, dass die Verwendung von Tools wie die, die Sie erwähnt haben (im Rahmen des Zumutbaren), absolut kein Problem ist ...

    
KB22 19.10.2009 12:25
quelle
5

Für dich? Nein, du bist nicht faul.

Für den Typ, der nicht versteht, was Code-Generatoren machen und wie sie es tun? Ja , es ist faul.

Das ist der wichtige Unterschied: Sie müssen wissen, was Sie mit einem Code-Generator und wissen, was Ihnen fehlt. Wenn Sie das nicht tun, ist es nur eine Frage der Zeit, bis Sie auf einen Fall stoßen, in dem Sie in der Lage sein müssen, diese Klassen zu produzieren und nicht wissen, wie.

    
George Stocker 19.10.2009 12:29
quelle
2
  

Diese beiden Tools sind aus meiner Sicht keine Probleme, da sie die Ausgabe massiv verbessern.

Das heißt, Sie sind nicht faul, Sie verwenden die entsprechenden Werkzeuge, damit Sie sich auf die wichtigen Aspekte des Jobs konzentrieren können.

    
ChrisF 19.10.2009 12:26
quelle
2

Es ist nicht faul - es ist klug. Es ist nichts falsch daran, jedes Werkzeug zu benutzen ... solange es produktiver ist. Es ist keine gute Idee, Tools zu verwenden, um Tools zu verwenden.

Wenn Sie jedoch nicht wissen, was Ihr Werkzeug unter der Haube macht, sollten Sie sich darüber informieren. Wenn Sie das Werkzeug aus irgendeinem Grund nicht zur Verfügung haben, können Sie die Arbeit erledigen.

    
Thomas Owens 19.10.2009 12:26
quelle
2

Ich denke, das ist die falsche Frage. Faulheit ist eine Tugend. Ich habe zu viele Programmierer gesehen, die Dinge auf die harte Tour machen, anstatt sich zurückzulehnen und ein paar Minuten nachzudenken, um einen einfacheren Weg zu finden. Ich hatte schon so oft, dass ich zu einem Junior-Programmierer gesagt habe: "Ja, ich respektiere deinen Fleiß beim Mittagessen und bleibe dabei, den Code zu schreiben, um X zu machen, aber wenn du es genommen hättest ein paar Minuten, um die Dokumentation zu überprüfen, die Sie möglicherweise gesehen haben, dass es bereits eine Funktion in der Bibliothek gibt, die das tut ". Oder ähnliche Geschichten.

Ich bin nicht vertraut mit den spezifischen Werkzeugen, die Sie beschreiben, aber für mich ist die Frage immer, rettet mich dieses Werkzeug wirklich irgendeine Arbeit? Ich habe viele "Code-Generatoren" ausprobiert, die im Grunde nur Code-Stubs erstellen. Also, danke, du hast die "Funktion x (int, float)" geschrieben, jetzt muss ich nur noch die Namen der aktuellen Parameter eingeben und den Code schreiben. Was hat mich das gerettet? Ich habe auch viele Code-Generatoren gesehen, die wirklich schrecklichen Code schreiben. So, jetzt muss ich versuchen, den "benutzerdefinierten" Code zu diesem Durcheinander hinzuzufügen. Wäre es nicht einfacher gewesen, das Ganze beim ersten Mal sauber zu schreiben? Ich habe viele Produktivitäts-Tools gesehen, bei denen ich mehr Zeit für die Einrichtung der Parameter für die Ausführung des Tools benötigte als für die tatsächliche Verwendung. (Wie der alte Witz, dass es bewiesen ist, dass Joggen regelmäßig wirklich länger leben lässt: für alle 60 Minuten, die du joggst, fügt es deinem Leben 30 Minuten hinzu.) Einige Werkzeuge können Code- oder Datenstrukturen oder was immer schwierig ist, erzeugen Sie sparen heute eine Stunde, aber es kostet Sie zehn Stunden Wartung im Laufe des Projekts. Etc.

Meine Schlussfolgerung ist nicht, dass Sie keine Produktivitätswerkzeuge verwenden sollten, sondern dass Sie sicherstellen sollten, dass sie wirklich Ihre Produktivität erhöhen und nicht nur die Illusion, dies zu tun. Wenn Sie in Ihrem Fall finden, dass diese Werkzeuge Ihnen wirklich helfen, dann ist die Verwendung von ihnen nicht "betrügen", es ist einfach schlau.

    
Jay 19.10.2009 13:29
quelle
2

Wie alle anderen bereits erwähnt haben, ist nichts an der Verwendung von Codegeneratoren falsch.

Dennoch kann ich in bestimmten Situationen Anhaltspunkte und Gründe sehen, dies zu vermeiden.

  • Sprachwahl . Manchmal kann die gleiche Tatsache, dass Sie einen Code-Generator benötigen, um Ihre Programmierung zu starten, bedeuten, dass Sie die falsche Sprache für die Aufgabe verwenden . In den meisten Fällen kann die Sprache nicht wirklich gewählt werden, so dass Code-Generatoren der beste Weg bleiben.

  • Code-Redundanz . Abhängig von den tatsächlich verwendeten Generatoren kann generierter Code redundant sein, wenn dies passiert und die Generierung einmal erfolgt, nicht automatisiert ist und generierter Code in das Haupt-Repository Wartungsprobleme gelangt könnte auf lange Sicht entstehen. Nicht wirklich ein Problem mit der Code-Generierung selbst, aber mit der Art, wie es sollte und sollte nicht verwendet werden.

  • Hinzufügen von Anforderungen für Entwicklungsplattformen . Wir müssen zugeben, dass viele Programmierer da draußen an Brot-Toastern arbeiten, die sich als PCs verdoppeln. Es ist wirklich eine schlechte, (und traurige) Realität von billigen Geschäftspraktiken, die scharfe Köpfe treffen. (Scharfe Gedanken gehen dabei verloren) Es könnte ein Problem werden, wenn unser Projekt (das einen Hafen für die Zukunft und auch in einer externen Einrichtung haben könnte) eine heftige RAM-Hogging-Plattform braucht, die nicht genug plattformübergreifend ist praktisch, um jede kleine Änderung zu kompilieren.

Also, keine definitive Antwort auf Code, der Faulheit und Programmieren erzeugt: es kommt darauf an. Andererseits ist die Verwendung der falschen Werkzeuge für den Job schlecht für Ihre Gesundheit (und Ihr Geschäft), also ... nicht.

    
ZJR 19.10.2009 15:21
quelle
1

Du benutzt alle Karten in deiner Hand. Warum erfinden Sie das Rad neu, wenn es Werkzeuge gibt, die Ihre Arbeit erleichtern. Denken Sie daran, dass diese Werkzeuge nicht Ihre Arbeit machen, sie helfen nur.

Was Sie erstellen, hängt von Ihnen ab, also ist die Verwendung der Werkzeuge nicht faul ... es ist nur intelligent.

    
GenericTypeTea 19.10.2009 12:24
quelle
1

Ich würde sagen, Sie sind eher effizient als faul.

    
foraidt 19.10.2009 12:25
quelle
1

Programmieren ist in erster Linie eine Denkübung, keine Tipparbeit. Solange du verstehst, was die Werkzeuge tun, verschiebst du die Balance vom Tippen zum Denken. Machen Sie mehr von dem, worum es in Ihrem Job geht? Klingt nicht wie faul für mich!

    
FinnNk 25.10.2009 22:03
quelle
0
  

Ich bin sicher, es gibt Puristen da draußen, die sagen würden, dass alles von dir geschrieben werden sollte, damit du weißt, was alles tut

Dies könnte in den frühen Tagen der Programmierung ein praktikabler Standpunkt gewesen sein. Aber heutzutage ist das einfach nicht möglich (oder sogar vorzuziehen). Schließlich haben Sie bereits durch die Verwendung einer Hochsprache ein gewisses Verständnisniveau verdeckt.

Ich habe festgestellt, dass es eine großartige Lernübung ist, einige dieser Dinge gelegentlich von Hand zu schreiben. Du lernst nicht nur mehr, sondern lernst auch, wie hilfreich diese Werkzeuge wirklich sind (oder nicht sind). Beachten Sie, dass ich dies nur für ein persönliches Projekt tun würde. Ich würde das für kein Projekt tun, für das mich jemand bezahlt hat (es sei denn, ich arbeitete für einen Masochisten oder so).

    
Jason Baker 19.10.2009 12:36
quelle
0

Fragen Sie sich, warum es so viele ORM- und andere Tools zur Code-Generierung gibt. Ich würde sagen, gehen Sie dafür mit der Maßgabe, dass Sie es für den nächsten Typ / Galater pfleglich lassen.

    
Alan B 19.10.2009 12:59
quelle
0

Beim Programmieren geht es darum, faul zu sein, sich wiederholende Aufgaben zu automatisieren. Wenn Sie dies in Ihrer Sprache nicht tun können, ist die Verwendung von Code-Generatoren und ähnlichen Dingen eine sinnvolle Lösung.

    
Svante 19.10.2009 13:12
quelle
0

Es hängt natürlich davon ab, was Sie schreiben. Ich bin überrascht, dass niemand das angesprochen hat. Wenn Sie Gerätetreiber, Betriebssysteme, Protokolle oder Serversoftware (Webserver, tcp-gesteuerte Server usw.) schreiben, sollten Sie dies wahrscheinlich von Hand tun.

Aber mit dem, was ich mache und was viele von uns tun, ist es, Geschäftsprozesse in Code für Webseiten oder Webdienste zu implementieren. Und in diesen Bereichen, wenn Sie Ihren Code mit Code-Generatoren verbessern können, gehen Sie dafür.

    
quillbreaker 19.10.2009 13:41
quelle
0

Ja, du bist ein fauler Entwickler, sei ehrlich zu dir selbst, wenn du dir die Zeit nimmst, es auf die harte Art zu tun, kannst du dich weniger faul nennen, als du jetzt bist.

Der Punkt ist, Faulheit ist überhaupt nicht ineffizient. Faule Menschen nehmen sich Zeit, um die Probleme aus verschiedenen Richtungen zu betrachten, bevor sie darauf reagieren, dies vermeidet unnötige Fehler, die Ihnen wertvolle Zeit sparen.

Sie sind also faul, aber das ist in Ordnung. Die Leute mieten keine hyperaktiven Programmierer, die jeden Tag 10 Anwendungen machen, aber eine Spur von Fehlern auf ihrem Weg hinterlassen. Fehlerbehebungen kosten Zeit, Zeit ist Geld.

Schlussfolgerung: Faulheit = Profit

Mach es.

    
Pieter888 19.10.2009 13:41
quelle
0

Ich denke, die besten Entwickler sind auch die faulsten. Grundsätzlich sollte alles, was Sie tun, darauf ausgerichtet sein, das Endergebnis mit möglichst wenig Arbeit zu erreichen. Dies liefert oft das beste Ergebnis und verhindert auch, dass Entwickler durch lustige Dinge abgelenkt werden, die in ein Projekt aufgenommen werden. Ein fauler Entwickler würde z.B. fügen Sie seinem Code niemals ein Osterei hinzu, einfach weil dies mehr Code wäre, der weitere Bugs einführen könnte, die später behoben werden müssen. Das Hinzufügen von Code ist schlecht, da Sie auch weitere Fehler hinzufügen, die Sie später beheben müssen. Trotzdem müssen Sie Code hinzufügen, sonst werden Sie nicht bezahlt. Als fauler Entwickler würden Sie sich natürlich für den am besten optimierten Code entscheiden, den am besten getesteten Code, der fast nie versagt und Sie so arbeiten, dass die Fehlerwahrscheinlichkeit auf ein Minimum reduziert wird.

Denken Sie daran, dass faule Entwickler sich darauf konzentrieren sollten, in Zukunft Arbeit zu vermeiden, und nicht, Arbeit jetzt zu vermeiden! Also hör auf, hier zu lesen und mach dich wieder an die Arbeit! ; -)

    
Wim ten Brink 19.10.2009 13:47
quelle
-1

Faulheit ist eine Eigenschaft, die die meisten guten Programmierer haben. Sofern sie nicht für Adobe arbeiten, sind sie in diesem Fall oft faul.

    
user358826 05.06.2010 06:56
quelle