Wie verteilt sich Ihre Arbeitszeit zwischen Kodierung und Denken? [geschlossen]

8

... in Prozent. Zum Beispiel 60/40 oder 90/10 oder 100/0.

Meine Hypothese ist, dass je größer der Anteil der Zeit, die Sie mit dem Denken verbringen, desto kleiner Ihr Code sein kann (und desto weniger Zeit wird benötigt, um ihn aufzuschreiben). Denken Sie mehr, schreiben Sie weniger, mit anderen Worten. Glaubst du, dass es wahr ist?

Als Randnotiz denke ich, dass in typischen Softwareunternehmen das Denken sowieso nicht Teil der Kultur ist: Sie sollten normalerweise dort an Ihrem Computer sitzen und etwas tippen . Sie werden von Ihren Managern mit ziemlicher Sicherheit bemerkt, wenn Sie mit leerem Blick über Ihre nächsten Schritte mit Ihrem Code nachdenken. Schade.

Mojuba
quelle
1
Möglicherweise ähnlich: programmers.stackexchange.com/questions/12696/…
Chris
1
@Chris: Nicht genau, bei dieser Frage geht es um Codierung im Vergleich zu "Lesen rund um das Thema, Verbesserung des Wissens, Lernen neuer Dinge", bei dem nicht genau über Ihre Handlungen nachgedacht wird. Obwohl ja, wird das Denken in einigen Antworten erwähnt.
Mojuba
Dies ist nur eine genauere Frage als diese. Sie fragen nach Codierung: Denkzeit, diese Frage ist Codierung: <alles außer Codierung>. Ähnlich genug für mich.
Chris
2
@ Chris: absolut nicht. Ein großer Unterschied zwischen dem Nachdenken über Ihre nächsten Schritte und anderen Aktivitäten als dem Codieren. Ich versuche hier zu sagen, dass Sie Ihren Code verbessern können, indem Sie mehr darüber nachdenken, bevor Sie mit dem Codieren beginnen.
Mojuba
4
Ich kann das Denken auch beim Codieren nur empfehlen .

Antworten:

9

Ich codiere in letzter Instanz.

Sagen wir 50% Denken, 50% Codieren, einschließlich 10% Implementierung und 40% Debugging.

Klaim
quelle
Ausgezeichnet, ich denke, 50/50 ist genau das richtige Verhältnis, obwohl es für viele unsinnig erscheint.
Mojuba
2
Ja, es ist nicht kontraintuitiv zur Sicht der Fabrikproduktion. Sie müssen verstehen, dass beim Programmieren nur Probleme gelöst werden, nicht das "Herstellen" von Code, bevor Sie zustimmen, dass Sie besser viel nachdenken sollten, bevor Sie handeln.
Klaim
Sicherlich kann das Debuggen auch das Denken einschließen
jk.
Natürlich ja. Tatsächlich ist es jedoch immer noch nur der Prozess der Problemlösung, während das Codieren und Debuggen während des Codierens mechanischer und niedriger ist. Sie können sich vorstellen, eine Strategie zu entwickeln, während die Codierung sie anwendet, und Taktiken anwenden, um Ihre Strategie an den Kontext anzupassen.
Klaim
Bevor die Herstellung stattfand, musste jemand viel Zeit damit verbringen, nachzudenken und zu basteln, um dieses Produkt zu perfektionieren. Daher wird auch in der Herstellung viel nachgedacht. Es geschieht einfach mehr im Voraus ... und oft von einer anderen Person .
CaffGeek
10

Wie bei allem anderen kommt es darauf an

Am Anfang von etwas wird die meiste Zeit damit verbracht, darüber nachzudenken und zu planen, wie man es codiert. Sobald Sie den Plan erstellt haben, wird die meiste Zeit mit dem Codieren verbracht.

Rachel
quelle
+1, Es macht keinen Sinn zu verallgemeinern. Das Verhältnis wäre für die Implementierung eines B + -Baums sehr unterschiedlich als für das Schreiben von CRUD-Operationen.
dan_waterworth
5

60% Denken / 40% Codieren

Ich denke nicht nur bei der Arbeit. Ich denke überall, wo ich hingehe. Ich neige dazu, erst mit dem Codieren zu beginnen, wenn ich alle Möglichkeiten durchdacht habe. Ich spreche nicht davon, Code in meinen Kopf zu schreiben, sondern über die schrittweise Verfeinerung in meinem Kopf.

Michael Riley - AKA Gunny
quelle
3

An manchen Tagen schreibe ich eine einzelne Codezeile, erledige aber mehr Arbeit (um die Anwendung zum Laufen zu bringen) als am nächsten Tag, an dem ich tausend schreibe. Mein Manager würde den ersten Tag als verschwendet bezeichnen. Er untersucht die pro Tag produzierten LOCs, um die Produktivität zu messen (oder früher, heutzutage weniger).

Denke ich am zweiten Tag weniger? Vielleicht hängt es von der Art der Codierung ab (wenn es sich um eine sinnlose Abfrage einer Datenbank handelt, die ich bereits tausendmal durchgeführt habe, ist dies keine große mentale Herausforderung).

jwenting
quelle
2

Kürzerer Code ist im Allgemeinen besser, aber nicht immer.

Warum einen Entwickler bestrafen, der durch Erfahrung flüssiger geworden ist und genau weiß, was er tut? Jede Codezeile muss nicht Ihr erstes Rodeo sein.

Gehen Sie nicht davon aus, dass ich nicht denke, weil ich tippe. Das Tippen erfordert nicht so viel geistige Anstrengung.

Planung ist sehr wichtig, aber nicht zu verwechseln mit dem Nachdenken über Ihren Code.

JeffO
quelle
Das ist ein guter Punkt. Ich wollte eigentlich mehr über Ihren Code nachdenken als über die Planung / Gestaltung des gesamten Produkts.
Mojuba
2

Im Gegensatz zu den meisten der oben genannten "% aufgewendeten Überlegungen"> "% aufgewendeten Codierungsantworten" stelle ich (etwas zu meiner Überraschung) fest, dass meine Produktivität derzeit mit meinen Tastenanschlägen korreliert. Das "Derzeitige" ist der Schlüssel: Ich lerne eine neue Sprache / ein neues System und lerne einfach mehr, wenn ich mir die Hände schmutzig mache und Sachen baue und kaputt mache und herausfinde, wie ich das Problem beheben kann, als wenn ich mich zurücklehne und versuche zu denken durch all das, was oft zu unproduktivem Nachdenken darüber führt, wie kompliziert diese dumme Sache ist.

(Normalerweise würde ich eine Frage nicht mit einer bereits akzeptierten Antwort beantworten, aber das brachte mich zum Nachdenken und ich konnte nicht anders, als abzuwägen.)

Beekguk
quelle
1

Wenn ich ein Problem im Detail plane, bevor ich mit dem Codieren beginne, stelle ich fest, dass ich viel weniger Revisionen vornehme. Ich denke, es erfordert viel Disziplin, nicht direkt in den Code einzusteigen, aber es lohnt sich. Wie Sie bereits bemerkt haben, verstehen die meisten Nicht-Programmierer leider nicht, dass die Zeit, die ein Computer benötigt, um zuerst zu planen und zu denken, eine Aufgabe tatsächlich beschleunigen und verbessern könnte.

brian_d
quelle
In einer Firma, für die ich gearbeitet habe, hatten wir viele kleine Besprechungsräume, und es war in Ordnung, eine Weile allein zu sein, vorausgesetzt, Sie halten einen Stift und einen Notizblock in der
Hand
1

Ich bin mir ziemlich sicher, dass ich Ihre Unterscheidung zwischen Denken und Kodieren verstehe. Aber warum sollten Sie aufhören zu denken, wenn Sie mit dem Codieren beginnen? Hoffentlich erfordert das Tippen nicht so viel Aufwand, dass Sie nicht gleichzeitig denken können.

Ich finde, dass es gut funktioniert, eine Weile über die Richtung nachzudenken, in die ich gehen soll, und dann mit dem Codieren zu beginnen, während ich über mehr der weniger wichtigen Details nachdenke.

John Fisher
quelle
1

Wie verteilt sich Ihre Arbeitszeit zwischen Kodierung und Denken?

Es hängt davon ab, ob. Zu dieser Jahreszeit mache ich hauptsächlich Fehlerbehebungen, daher macht das Denken den größten Teil meiner Arbeit aus.

Als Randnotiz denke ich, dass in typischen Softwareunternehmen das Denken sowieso nicht Teil der Kultur ist: Sie sollten normalerweise dort an Ihrem Computer sitzen und etwas tippen. Sie werden von Ihren Managern mit ziemlicher Sicherheit bemerkt, wenn Sie mit leerem Blick über Ihre nächsten Schritte mit Ihrem Code nachdenken.

Sie werden feststellen, dass diese Einstellung nicht auf Softwareunternehmen beschränkt ist. Es ist ein weit verbreitetes Phänomen in der amerikanischen Unternehmenskultur. Ich habe die Erfahrung gemacht, dass Manager, die viel Zeit beim Militär verbracht haben (oder in jüngeren Jahren eine militärische Ausbildung absolviert haben), die Gewohnheit haben, immer zu arbeiten . Wenn Ihr Seargant Sie erwischt, wenn Sie nicht arbeiten (und da das Denken für einen externen Betrachter nicht sichtbar ist, wird das Denken == vermasselt), wird er Ihnen befehlen, die Bürgersteige mit einer Zahnbürste (oder einer anderen dummen Arbeit) zu schrubben, um Sie zu behalten von vermasseln. Der schlechteste Manager aller Zeiten, für den ich gearbeitet habe, hat absichtlich eine Krise ausgelöst, um für Sie zu arbeiten, wenn er Sie dabei erwischt, nichts zu tun - und da er auch der Eigentümer war, glaubte er nicht, dass Sie an irgendetwas denken mussten, nur mach es fertig.

Tangurena
quelle
1

Wie verteilt sich Ihre Arbeitszeit zwischen Kodierung und Denken?

SIE SIND GLEICH

ENDÜBERTRAGUNG

sova
quelle
2
Jemand hat dich wahrscheinlich für einen Stil herabgestimmt, der hier nicht willkommen ist, aber ich habe deine Nachricht in Ordnung gebracht;)
Mojuba
1

Für mich ist das Denken eine Möglichkeit, die Codierung zu abstrahieren. Sie denken an die Möglichkeiten und deren wahrscheinlichstes Ergebnis. Ich denke viel. Manchmal liege ich mit dem Kopf auf dem Schreibtisch und den Augen geschlossen. Denken ist die kleinste Ebene des Designs. Ich passe meine Denklänge immer an den Flächeneffekt des Codes an, den ich schreiben möchte.

"Wo lege ich diesen Knopf?" bekommt fast keine Bedenkzeit, "wo lege ich dieses Datenbankfeld?" wird so lange wie es dauert.

Auf dem Papier zu denken hilft auch, und es sieht viel mehr nach Arbeiten und viel weniger nach Tagträumen aus.

Tjaart
quelle
0

es kann sehr unterschiedlich sein. Ein Großteil meines Codes ist das Ergebnis einer Reihe von Tools, die ich geschrieben habe. Es gibt also Tage, an denen ich eine große Menge Code "schreibe", fast nichts davon von Hand. Und es gibt Tage, an denen ich denke, ich verbringe mehr Zeit mit einem Bleistift als mit meiner Tastatur.

Zachary K.
quelle