¿Cómo se distribuye su tiempo de trabajo entre codificación y pensamiento? [cerrado]

8

... en porcentaje. Por ejemplo 60/40 o 90/10 o 100/0.

Mi hipótesis es que cuanto mayor sea la proporción de tiempo que pasa pensando que más pequeño puede ser su código como resultado (y se necesitará menos tiempo para escribirlo). Piensa más, escribe menos, en otras palabras. ¿Crees que es verdad?

Como nota al margen, creo que en las compañías de software típicas el pensamiento no es parte de la cultura de todos modos: generalmente se supone que debes estar sentado en tu computadora escribiendo algo. Sus gerentes lo notarán casi definitivamente si deambula con una mirada en blanco pensando en sus próximos pasos con su código. Demasiado.

mojuba
fuente
1
@ Chris: no exactamente, esa pregunta es sobre codificación versus "Leer sobre el tema, mejorar el conocimiento, aprender cosas nuevas", que no es exactamente pensar en tus acciones. Aunque sí, el pensamiento se menciona en algunas respuestas.
mojuba
Esta es solo una pregunta más precisa que esa. Estás pidiendo codificación: tiempo de reflexión, esa pregunta es codificación: <cualquier cosa menos codificación>. Lo suficientemente similar a mí.
Chris
2
@ Chris: absolutamente no. Gran diferencia entre pensar en tus próximos pasos frente a cualquier actividad que no sea la codificación Lo que estoy tratando de decir aquí es que puede mejorar su código pensando más antes de comenzar a codificar.
mojuba
44
También puedo recomendar pensar mientras codificas.

Respuestas:

9

Codifico en último recurso.

Digamos 50% de pensamiento, 50% de codificación incluyendo 10% de implementación y 40% de depuración.

Klaim
fuente
Excelente, creo que 50/50 es la proporción correcta aunque parezca absurdo para muchos.
mojuba
2
Sí, es contrario a la visión mental de producción en fábrica. Debe comprender que la programación es la resolución de problemas, no la "fabricación" de código, antes de aceptar que es mejor pensar mucho antes de actuar.
Klaim
seguramente la depuración también puede incluir pensar
jk.
Obviamente, sí. Pero, de hecho, sigue siendo solo el proceso mental de resolución de problemas, mientras que la codificación y la depuración, mientras que la codificación es más mecánica, de nivel más bajo. Podrías pensar en inventar una estrategia, mientras que la codificación la aplica, usando tácticas para adaptar tu estrategia al contexto.
Klaim
Antes de que ocurriera la fabricación, alguien tenía que pasar mucho tiempo pensando y retocando para perfeccionar ese producto ... por lo que también se piensa mucho en la fabricación ... simplemente ocurre más por adelantado ... y a menudo por una persona diferente .
CaffGeek
10

Como con cualquier otra cosa, depende

Al comienzo de algo, la mayor parte del tiempo se dedica a pensar y planificar cómo codificarlo. Una vez que tenga el plan, la mayor parte del tiempo se dedica a la codificación.

Rachel
fuente
+1, no tiene sentido generalizar. La relación sería muy diferente para implementar un árbol B + que para escribir operaciones CRUD.
dan_waterworth
5

60% de pensamiento / 40% de codificación

No solo estoy pensando en el trabajo. Estoy pensando donde quiera que vaya. Tiendo a no comenzar a codificar hasta que haya pensado en todas las posibilidades. No estoy hablando de escribir código en mi cabeza, estoy hablando de hacer el refinamiento gradual en mi cabeza.

Michael Riley - también conocido como Gunny
fuente
3

Algunos días escribo una sola línea de código, pero hago más trabajo (para que la aplicación funcione) que al día siguiente que escribo mil. Mi gerente llamaría el primer día perdido, observa los LOC producidos por día para medir la productividad (o solían hacerlo, menos ahora).

¿Estoy pensando menos el segundo día? Tal vez, depende del tipo de codificación disponible (si es una consulta sin sentido de una base de datos que ya he hecho miles de veces, no es un gran desafío mental).

jwenting
fuente
2

Un código más corto generalmente es mejor, pero no siempre.

¿Por qué castigar a un desarrollador que ha aumentado la fluidez a través de la experiencia y sabe exactamente lo que está haciendo? Cada línea de código no tiene que ser tu primer rodeo.

No asumas porque estoy escribiendo que no estoy pensando. Escribir no requiere tanto esfuerzo mental.

La planificación es muy importante, pero no debe confundirse con pensar en su código.

JeffO
fuente
Ese es un buen punto, en realidad quise decir pensar en su código más que planificar / diseñar el producto en su conjunto.
mojuba
2

En contraste con la mayoría del "% dedicado a pensar"> "% dedicado a codificar respuestas" anterior, estoy (para mi sorpresa) descubriendo que actualmente mi productividad está correlacionada con mis pulsaciones de teclas. El "actualmente" es clave: estoy aprendiendo un nuevo lenguaje / sistema, y ​​simplemente aprendo más cuando me ensucio las manos y construyo cosas y rompo cosas y descubro cómo solucionarlo que si me siento y trato de pensar a pesar de todo, lo que a menudo se convierte en una reflexión improductiva sobre lo complicada que es esta estupidez.

(Normalmente no me molestaría en responder una pregunta con una respuesta ya aceptada, pero esto me hizo pensar y no pude evitar considerarlo).

Beekguk
fuente
1

Cuando planifico un problema en detalle antes de comenzar a codificarlo, encuentro que hago menos revisiones. Creo que se necesita mucha disciplina para no ir directamente al código, pero vale la pena. Desafortunadamente, como ha notado, la mayoría de los que no son programadores no entienden que el tiempo fuera de una computadora para planificar y pensar primero podría acelerar y mejorar una tarea.

brian_d
fuente
En una empresa para la que trabajé, teníamos muchas salas de reuniones pequeñas, y estaba bien estar allí solo por un tiempo, siempre que tenga un bolígrafo y un bloc de notas y tenga una mirada reflexiva;)
mojuba
1

Estoy bastante seguro de que entiendo su distinción entre pensar y codificar. Pero, ¿por qué dejar de pensar cuando empiezas a codificar? Con suerte, escribir no requiere tanto esfuerzo que no puedas pensar al mismo tiempo.

Me parece que funciona bien pensar por un momento en la dirección que debo seguir, luego comenzar a codificar mientras pienso en más detalles menos significativos.

John Fisher
fuente
1

¿Cómo se distribuye su tiempo de trabajo entre codificación y pensamiento?

Depende. En esta época del año, principalmente estoy haciendo correcciones de errores, por lo que pensar es la mayor parte de mi esfuerzo de trabajo.

Como nota al margen, creo que en las compañías de software típicas el pensamiento no es parte de la cultura de todos modos: generalmente se supone que debes estar sentado en tu computadora escribiendo algo. Sus gerentes casi definitivamente lo notarán si deambula con una mirada en blanco pensando en sus próximos pasos con su código.

Encontrará que esta actitud no se limita a las compañías de software. Es un fenómeno generalizado en la cultura corporativa estadounidense. Mi experiencia es que los gerentes que pasaron mucho tiempo en el ejército (o cuando eran más jóvenes en la escuela de estilo militar) adoptan el hábito de estar siempre trabajando . Si su Seargant lo descubre que no está trabajando (y dado que el pensamiento no es visible para un espectador externo, pensando == haciendo el tonto), le ordenará que fregue las aceras con un cepillo de dientes (u otro estúpido trabajo) para mantenerlo de hacer el tonto. El peor gerente de todos los tiempos para el que trabajé crearía una crisis intencionalmente para hacerte trabajar si te atrapa sin hacer nada, y dado que él también era el propietario, no creía que necesitaras pensar en nada, solo hazlo.

Tangurena
fuente
1

¿Cómo se distribuye su tiempo de trabajo entre codificación y pensamiento?

ELLOS SON IGUALES

FINALIZAR LA TRANSMISIÓN

sova
fuente
2
Alguien te ha
votado
1

Pensar para mí es una forma de abstraer la codificación. Piensa en las posibilidades y su resultado más probable. Pienso mucho. A veces me acuesto con la cabeza en mi escritorio y los ojos cerrados. Pensar es el nivel más pequeño de diseño. Siempre ajusto mi longitud de pensamiento en función del efecto de área del código que estoy a punto de escribir.

"¿Dónde pongo este botón?" casi no tiene tiempo para pensar, "¿dónde pongo este campo de base de datos?" se demora tanto como se necesita.

Pensar en papel también ayuda, y se parece mucho más a trabajar y mucho menos a soñar despierto.

Tjaart
fuente
0

Puede variar mucho. Gran parte de mi código es el resultado de un montón de herramientas que escribí. Así que hay días en que "escribo" una gran cantidad de código, casi nada a mano. Y hay días en que creo que paso más tiempo con un lápiz que con mi teclado.

Zachary K
fuente