¿Es común imprimir el código en papel? [cerrado]

36

Me gusta mantener mis líneas de código de menos de 80 caracteres porque:

  • No tengo que hacer ningún desplazamiento horizontal;
  • Sé que la línea es probablemente demasiado complicada si excede este límite; y
  • se imprime muy bien en papel.

Con respecto a esto último, solo he conocido a unos pocos que realmente imprimen el código para mirar (soy uno de ellos). Entonces, ¿qué tan común es imprimir el código?

gablin
fuente
1
Creo que la pregunta es ¿por qué imprime el código en papel?
Anon
14
No puedo hablar de lo común que es imprimir el código, pero a menos que la impresora sea una reliquia de un tiempo olvidado , puede imprimir más de 80 caracteres por línea. 80 caracteres se utilizan para fomentar la legibilidad e históricamente porque muchos terminales tenían solo 80 columnas de ancho, no por impresoras.
12
@Mark En realidad, 80 caracteres provienen de cuando el código se escribió en tarjetas perforadas que tenían 80 caracteres de ancho. Y los primeros 6 fueron para códigos de control y números de línea. Es por eso que el código FORTRAN debe comenzar en la columna 7.
ChrisF
3
@ Aaron - eso probablemente sea bueno para los programadores
ChrisF
55
@Aaron: los programadores están destinados a las preguntas más subjetivas (pero aún constructivas) que rodean nuestra profesión.
ChrisF

Respuestas:

50

Todavía ocasionalmente imprimo código, pero solo si es un problema particularmente complicado.

Por lo general, indica que el código es demasiado complicado y necesita una refactorización, por lo que, en primer lugar, tener algo para garabatear ayuda a encontrar y solucionar el problema y luego ayuda a determinar dónde se debe dividir el código.

En un mundo ideal de principios SÓLIDOS y SECOS , debería poder ver todo un método en una sola pantalla. Sin embargo, no trabajamos en un mundo ideal ...

ChrisF
fuente
44
+1 para "[la necesidad de mirar el código impreso] generalmente indica que el código es demasiado complicado y necesita una refactorización ..."
Bill
También ha funcionado bien para comprender las condiciones de carrera. Imprima los rastros de la pila y compárelos uno al lado del otro, tome notas, etc.
rperetti
44
@rperetti: imprimir cosas como los seguimientos de pila es muy diferente a imprimir código. Sin embargo, no los compare uno al lado del otro: busque una ventana (el tipo de cristal, no el tipo de Microsoft). Coloque las dos impresiones una encima de la otra en el cristal y las discrepancias se destacan. (Obviamente, solo a la luz del día.)
Loren Pechtel
55
¿No sería más fácil compararlos con una herramienta diff?
Jeanne Pindar
14

Usted apuesta. Pero recuerde que la impresión en paisaje permitió 132 caracteres.

texto alternativo

En Uni, solía imprimir regularmente mi código en papel de barra verde, es sorprendente lo bien que tiene una idea física de cuán profundo y enrevesado es su código cuando lo mira en papel. Estamos (al menos a partir de hoy) todavía mentalmente impresos de nuestros días de escuela primaria en las páginas de lectura y cuánto puede representar cada página. Pone una buena metáfora de complejidad al código de computadora.

texto alternativo

Jé Queue
fuente
13

Ocasionalmente, es posible que necesite observar de cerca algún código (generalmente nuevo para usted) donde esencialmente necesita ver mucho al mismo tiempo. Entonces, una copia impresa puede ser invaluable para que pueda ver todo al mismo tiempo.

Combinado con un marcador y un bolígrafo rojo y verde, realmente ayuda a obtener una visión general. Las notas que escribes en papel luego se agregan de alguna forma al código.

Tenga en cuenta que con las impresoras de color de hoy en día, también puede obtener colores de sintaxis en papel. Eso es realmente una gran ayuda y es muy recomendable.

(También imprimo especificaciones para leer, es decir para poner notas en el margen).

usuario1249
fuente
8
+1 Cuando alguien me da un lío para refactorizar, generalmente lo imprimo y paso un tiempo agradable en un lugar agradable y soleado.
Sharpie
Como regla general, si el módulo completo no cabe en una pantalla, probablemente necesite un trabajo pesado. Esto ha sido especialmente cierto desde que el modo VGA de 50 líneas estuvo disponible, no hace apenas 20 años. He dicho esto antes, y lo diré de nuevo: en casi 40 años en esta locura, he visto exactamente UN (1) módulo que necesitaba más de 60 líneas (una página impresa) de largo . (He visto MUCHOS módulos que eran más largos que eso, y todos "dejaron mucho que desear". (Frase cortés.)
John R. Strohm
@ John, ¿por qué tenía que ser más de 60 líneas?
@ user1249: Era la rutina de torpedos de fotones del juego "STARTRK" ("Star Trek") de Matuszek-Reynolds-McGehearty-Cohen. Fue escrito en FORTRAN IV. Tuvo que analizar el comando, simular el vuelo de uno o tres torpedos de fotones (posiblemente abortando si ocurriera un fallo de encendido), con perturbaciones, y configurar una pila para hacer conectividad de 8 vías de estrellas que se vuelven nova cuando se torpedea o está siendo adyacente a una estrella que se convierte en nova y matando a cualquier Klingon adyacente a dichas estrellas. FORTRAN IV no hizo recursión, y simplemente no había forma de factorizarlo que no lo empeorara.
John R. Strohm
12

A veces lo imprimo para leer en el tren y tomar notas. Cuando me atoro, me gusta extenderlo sobre una mesa en una tranquila sala de conferencias. No estoy seguro si realmente ayuda, pero es un buen cambio de ritmo.

Otro: Encontré un código antiguo que era una declaración If / Then con múltiples anidamientos que no cabía en la pantalla. Deberían haber despedido al antiguo programador que escribió eso, pero luego me quedaría sin trabajo;)

revs JeffO
fuente
44
+1 para un cambio de escena. A veces, solo ver algo en un contexto diferente te hace pensar de manera diferente.
Jon Hopkins
3
+1 Puede colocar más páginas una al lado de la otra en una gran mesa de conferencias que en la pantalla de la computadora. Y no te distraigas por Twitter o correo electrónico
Alex Jasmin
1
Si te distraes por Twitter o correo electrónico, lo estás haciendo mal. El correo electrónico, así como Twitter u otros mensajeros son asíncronos. No necesita responder lo antes posible.
mhr
8

Solo imprimo el código para hacer una revisión por pares del código. Hacer la revisión sin conexión es, en mi opinión, más eficiente que hacerlo en una computadora con todas las cosas perturbadoras (aunque a veces útiles) de IDE.

Si tiene uno (o dos o más) monitores razonablemente anchos, puede abrir fácilmente dos archivos de origen divididos verticalmente en modo de pantalla completa y no tiene que obedecer ninguna normativa de ancho de línea demasiado restrictiva.

Y en algunos casos, no necesito ver todo el contenido de la línea (es decir, las líneas que imprimen mensajes de depuración o similares) y, por lo tanto, no importa si la línea está cortada a la derecha.

Pero para responder a su pregunta: en mi opinión, ya no es tan común imprimir código en papel.

Eckes
fuente
8

Bueno, ahora imprimo el código en papel con poca frecuencia, pero solía hacerlo todo el tiempo.

Las razones habituales en estos días son para sentarse en un lugar tranquilo y explicar el código a un junior, o si un método largo realmente está molesto y necesita algo de trabajo a través de la pluma y el papeleo. Las pantallas no siempre son suficientes, especialmente cuando quieres notas y resaltar en todas partes.

Casi siempre mantengo el límite de 80 caracteres, ya que me inclino a enmendar rápidamente los errores a través de SSH en emergencias y no me gusta tener terminales anchos. Además, el desplazamiento horizontal es el demonio.

Orbling
fuente
55
+1 "desplazamiento horizontal es el diablo". Solo le estaba diciendo a alguien exactamente lo mismo la semana pasada.
morganpdx
8

Cuando estaba en mi adolescencia asistiendo a la escuela secundaria (21 años ahora) no tenía conexión a Internet en casa. Por lo tanto, con frecuencia imprimía muestras de código y diversos documentos de la API para llevarme a casa.

Nota al margen: es sorprendente cuánto más trabajo puede hacer sin una conexión a Internet, siempre que tenga la información que necesita.

Kevin Wiskia
fuente
6

Nunca imprimí mi código fuente. Nunca tuve que hacer eso. El único código fuente que vi fuera de la pantalla de una computadora estaba en los libros.

Usé mis impresoras para otra cosa.

texto alternativo

usuario2567
fuente
1
Ahora me siento viejo: D
wildpeaks
Como persona que nació después de este software, fue divertido buscarlo.
Naltroc
5

Imprimo el código cuando mis dos monitores están llenos y necesito hacer referencia constantemente a algo. Una hoja de papel en el escritorio es un monitor adicional para el hombre pobre.

como se llame
fuente
¡Póngalo en el monitor # 3 entonces!
Loren Pechtel
4

Entonces, ¿qué tan común es imprimir el código?

Era común hace muchos años en los tiempos de la programación de DOS, 80 caracteres llenaban con precisión una página impresa. Teníamos impresoras matriciales entonces, por lo que la limitación probablemente estaba en el lado del hardware. También era el límite en una pantalla de consola.

Hoy en día las personas apenas imprimen código, la única excepción son pequeños fragmentos de código impresos como ejemplos de prueba para entrevistas de trabajo.

La mayoría de las personas trabajan actualmente con monitores grandes, Full HD y más. Por lo general, extiendo a 150-200 caracteres sin pensar en ningún efecto secundario de impresión.

Cuando es el momento de discutir en un equipo, alguien generalmente toma una computadora portátil y la conecta a un proyector. De nuevo, nadie imprime el código.

La última vez que imprimí el código fue hace unos 8 años para mi diploma universitario, que estoy bastante seguro de que nadie lo leyó, quiero decir el código :-). Nunca tuvo que hacerlo desde entonces.

usuario8685
fuente
Han pasado eones desde que imprimí un código que no sea en una página web. Sin embargo, no estoy de acuerdo con la longitud de su línea, incluso si puede obtener tanto, es difícil de seguir. Raramente paso de unos 100 caracteres y me gusta mantenerlo en unos 80.
Loren Pechtel
@Loren Pechtel: La cosa es que me gustan los nombres descriptivos largos para métodos y variables. Con solo 80 caracteres de ancho, estaría luchando por mantenerlo compacto y con el formato adecuado. Por supuesto, es solo mi caso.
¿Hiciste programación DOS en una consola CRT? Teníamos tarjetas perforadas. El límite de 80 caracteres fue el resultado de las tarjetas perforadas. Poder estudiar código en más de 3 o 4 páginas a la vez es bastante útil. Supongo que es por eso que todavía prefiero las impresiones. Es más fácil navegar entre funciones relacionadas.
Huperniketes
También me gustan los nombres largos, por eso a veces termino yendo a 100 caracteres.
Loren Pechtel
4

Imprimir código se ha vuelto obsoleto en algún lugar entre 1975 y 1982, excepto por razones especiales:

  • código para leerlo durante un viaje
  • código antiguo que entra en la especificación de un nuevo proyecto que lo reemplazará
  • para hacer frente a errores flagrantes; es más seguro golpear a un compañero de trabajo con una pila de papel que un monitor
usuario281377
fuente
1
La paliza está subestimada.
Keith Layne
3

Nuestros abogados de propiedad intelectual requieren una "copia impresa" para la presentación de derechos de autor.

No sé si realmente lo imprimen en papel. Les envío un PDF que pueden imprimir o incluir en la presentación de derechos de autor.

S.Lott
fuente
3

Ya no. Solía ​​hacerlo todo el tiempo en los días previos al IDE, cuando la matriz de puntos con alimentación continua era la norma. Puede extender esas impresiones y hojearlas con bastante facilidad. Las modernas impresoras láser / de inyección de tinta alimentadas con hojas son un gran paso atrás. Graparlos juntos no fluye tan bien, y no grapar resulta en hojas sueltas que se mezclan. Los IDE modernos con resaltado automático y navegadores de métodos también eliminan clases enteras de errores que fueron detectados al examinar las impresiones.

Brian Knoblauch
fuente
2

A veces imprimo mi código porque estoy en un monitor único pequeño (15 "). A veces necesito combinar dos programas y es muy difícil alternar entre ellos. Sin embargo, no hago esto a menudo, solo cuando es necesario .

sange
fuente
Monitores duales! ;)
Pemdas
@Pemdas que deseo, jajaja.
Sange
Yo uso un 15 "en casa debido a la falta de espacio en el escritorio.
Orbling
2

Imprimo mi código en papel muy ocasionalmente y solo cuando quiero hacer una depuración fuera de línea o familiarizarme con el código de otra persona, por lo que podría valer la pena hacerlo por cortesía.

Además, probablemente sería más apto para imprimir un esquema de base de datos en papel que en código.

Creo que el problema del desplazamiento horizontal es una molestia más grande y una razón para mantener <120 caracteres más o menos.

Peter Turner
fuente
En realidad, 80 caracteres sigue siendo un buen marcador para el problema del desplazamiento horizontal. Los desarrolladores a menudo tienen dos paneles de origen, e incluso en mi resolución de 1680, solo puedo obtener 107 caracteres antes de tener que desplazarme cuando tengo dos paneles uno al lado del otro. Además, prefiero que el código no vaya completamente al margen derecho.
Craige
1
Sin embargo, @Craige depende un poco de su tamaño de fuente y DPI, así como de la cantidad de basura que tenga a cada lado de su pantalla (si está en un IDE). Por esta razón, comencé a usar XTerm en lugar de la Terminal Gnome estándar al codificar a través de SSH, no es que no pudiera haber cambiado la fuente.
Peter Turner
@Petur Turner: eso es cierto, pero mi Eclipse está configurado de una manera que minimiza el espacio perdido cuando necesito llegar a la codificación. Casi no hay espacio desperdiciado a la izquierda y derecha de mis editores. El tamaño de fuente también es bastante estándar. El punto es: 80 caracteres es una buena longitud objetivo para que la fuente sea legible en las condiciones más diversas.
Craige
2

Solo imprimo el código que viene junto con un artículo científico. Debido a que este código frecuentemente proporciona la implementación de un algoritmo (uno complejo, diría yo), y necesita un par de horas para procesarlo.
Dudo que imprima el código que contiene sentencias SQL, o alguna programación de GUI.

Sorantis
fuente
2

A veces imprimo el código para tratar de entender los problemas espinosos de varias páginas.

Christopher Mahan
fuente
+1 Me hace desear que todavía tuviéramos una impresora de matriz de puntos con rollos de papel sin fin.
Peter Turner
con alternar líneas verdes y tostadas? Pero muy lento !!!
Christopher Mahan
2

Casi nunca

He pensado mucho en recordar un momento en que imprimí el código o vi el código impreso. Y honestamente puedo decir que no recuerdo una sola vez (salvo Pseudocódigo).

No estoy sugiriendo que no haya razones legítimas para imprimir el código.

Noche oscura
fuente
2

Me resulta más fácil descubrir módulos grandes si puedo imprimirlos y ver rápidamente varias secciones. Probablemente podría hacer algo similar con varios monitores, pero si tengo más de 2-3 lugares en el código para ver, es más rápido tener todo distribuido en un solo lugar que seguir desplazándome y haciendo un seguimiento de los marcadores. También me gusta marcar las impresiones con cambios en lugar de hacerlas en el editor, porque puedo ver el código antiguo y el nuevo código uno al lado del otro. Claro, podría comentar el código antiguo en el editor, pero si está reemplazando más de unas pocas líneas, entonces terminará desplazando el código antiguo del monitor, por lo que no está mejor.

Dicho esto, casi nunca imprimo código más. Fue genial en papel plegado, donde todo el listado era continuo y había mucho espacio para notas en los márgenes, pero imprimir todo en páginas individuales de tamaño carta es casi tan malo como mantenerlo en la pantalla. Especialmente cuando su editor insiste en poner los encabezados y pies de página en márgenes de 1 ". Afortunadamente, los IDE modernos ofrecen muchas herramientas que reducen la necesidad de imprimir cosas.

TMN
fuente
1

No imprimo nada para mí, y solo imprimo para otros cuando no puedo salir de él. Odio recibir impresiones también. Abarrotan mi escritorio y luego soy responsable de ellos (¿guardarlo? ¿Archivarlo? ¿Destrozarlo? ¿Usarlo como chatarra?)

Eso sí, trabajo cerca de alguien que ha estado haciendo codificación de mainframe durante algunas décadas y tiene una pila de impresiones de códigos de un pie de altura a su lado.

Haz lo que funcione para ti, supongo. Simplemente no deje sus impresiones en mi escritorio, gracias.

Arrendajo
fuente
1

Una respuesta ligeramente diferente a las anteriores.

Soy estudiante, y me encuentro imprimiendo código para varios entrenamientos de cursos, pero no para cada unidad donde tengo que escribir código.

En mi primer año, la mayoría de las unidades requirieron una copia impresa además de una carga electrónica o una copia quemada en un CD (sí, un CD para un archivo zip de 5 Mb ...) [Elección del profesor]

Actualmente estoy en mi segundo año y hasta ahora hemos tenido una carga electrónica solamente, y una entrega de Hardcopy + CD.

Teniendo en cuenta que tenemos Moodle, que permite el envío electrónico de los trabajos del curso, el motivo por el que no siempre cargamos el código está más allá de mí: tenemos que pagar para imprimir las cosas en las impresoras de la Universidad, y no hay una sola grabadora de CD en ninguna de las PC que yo sepa Por supuesto, a los profesores no les gusta Moodle, pero esa es otra cuestión completamente diferente.

Por cierto, soy un estudiante universitario del Reino Unido, y no en un pequeño, desconocido. La mía estaba en el top 10 de Uni según The Times / Guardian la última vez que miré.

Megan Walker
fuente
Eso me recuerda un proyecto que hice en la universidad, donde se requería un informe escrito. Tenía que estar dentro de las 10 páginas, y el código tenía que adjuntarse como un apéndice porque al profesor le gustaba mirar el código mientras leía el informe. Afortunadamente, el apéndice no contó con el número total de páginas. Entonces el profesor recibió un archivo PDF de 90 páginas. No sé si realmente imprimió el documento. ^^
gablin
1

Las nuevas herramientas me apoyan mejor y me permiten navegar rápido y ofrecen muchos tipos de resúmenes y vistas. Por lo tanto, no imprimo con tanta frecuencia como antes. Pero la lectura secuencial de las impresiones es aún más fácil. Mi principal razón personal para imprimir es psicológica: me impide seguir buscando y, mientras la impresora imprime, ¡empiezo a pensar! Además, no se debe subestimar el efecto beneficioso de pararse y caminar hacia la impresora :)

fausto
fuente
0

Imprimo el código para poder hacer una comparación lado a lado (mis monitores en el trabajo no son de pantalla panorámica). En casa, tengo una pantalla panorámica para poder ver cómodamente dos documentos uno al lado del otro.

IAbstracto
fuente
0

En los días en que las leyes de EE. UU. No permitían la exportación de criptografía sólida, los desarrolladores de código abierto con sede en EE. UU. Solían imprimir código y enviarlos por correo electrónico fuera de EE. UU., Donde fueron escaneados por voluntarios. Pero no estoy seguro si esto responde a tu pregunta;)

RDA
fuente
0

Imprimo código peludo en ocasiones para tratar de resolverlo. También imprimí el desmontaje al depurar algo "extraño".

Logan Capaldo
fuente
0

En mi último trabajo imprimiría el código para las revisiones de código. Es bueno poder resaltar / marcar un poco de código cuando te sientas a hacer una revisión de código para que tengas una buena referencia para cualquier problema que se haya planteado durante la revisión.

Además, cuando tuve que refactorizar (terminó siendo una reescritura) un fragmento de código particularmente retorcido, en realidad imprimí el código fuente, pegué las impresiones en la pared, luego usé pedazos de cuerda para mostrar cómo la lógica fue tejida juntos.

Cercerilla
fuente
0

En estos días, nunca. Tengo el soporte de múltiples monitores si necesito hacer referencia a un código particularmente difícil. Los discos duros modernos no me parpadearán almacenando código que tiene incluso miles de líneas de largo. Imprimir código en mi humilde opinión es un desperdicio y generalmente inútil, pero eso es solo yo.

Dicho esto, cuando estaba aprendiendo a desarrollar / programar por primera vez, no pensé en imprimir 20 páginas de código, así que supongo que podría haber un momento y un lugar para ello, pero creo que en estos días no hay mucho uso para ello.

Mark D
fuente
0

Imprimo mi código todo el tiempo, pero solo porque soy un estudiante que necesita hacerlo para entregarlo al instructor.

Sin embargo, debido a que tengo acceso a varios monitores ( como cualquier buen desarrollador ), no he tenido muchas situaciones en las que necesito imprimir el código fuente como referencia. Una vez imprimí uno de los scripts que usé para llenar una base de datos para poder ver el esquema de un vistazo, pero parece que no lo uso mucho.

DragonLord
fuente
0

Solía ​​imprimir código con bastante frecuencia, pero lo hago menos ahora que tengo varios monitores en mi escritorio; a menudo mantendré una parte de una lista que estoy usando como referencia en mi monitor derecho (que está un poco apagado para el lado), y mi trabajo actual frente a mí.

Si imprimo la oda, casi siempre es el código de alguien o de otro lugar (biblioteca) que quiero estudiar, y necesito pasar las páginas de un lado a otro.

Casi siempre imprimo el código en modo horizontal, debido a la tendencia a usar líneas largas.

tcrosley
fuente
0

En los últimos 10 años más o menos, solo recuerdo imprimir el código, para poder usar rotuladores en él, para marcar las secciones que tienen algo en común antes de planificar cómo refractar el código.

Sin embargo, a veces echo de menos poder imprimir en papel ancho y continuo, ya que colocar el código en el suelo podría dar una buena visión general, principalmente junto con marcadores de colores y notas postit. Los localizadores impresos en A4 no son mejores de lo que ofrece un monitor razonable.

Los monitores son mucho mejores y más grandes, mientras que las impresoras son peores para el código de lo que solían ser.

Ian
fuente