¿Cuál es la mejor manera de presentar el código fuente, tanto fuera de línea y en los libros?

StackOverflow https://stackoverflow.com/questions/1078873

  •  21-08-2019
  •  | 
  •  

Pregunta

Siendo un poco obsesionada tipográficamente, tengo curiosidad: ¿cuál es la mejor manera de presentar el código - tanto en línea como fuera de línea. En particular, estoy interesado en:

  • ¿Qué tipos de tipos de letra y tamaños funcionan mejor en línea y fuera de línea? Es mejor utilizar fuentes proporcionales para el código (por ejemplo, como BS hace en 'The C ++ Programming Language')? Serif, sans-serif, o mezclado?
  • ¿Cómo debe ser anotada codificar - con el marcado típica // comment, o tal vez sólo con un tipo de letra diferente (y no hay etiquetas de comentario)
  • ¿Vale la pena dibujar flechas (o algo similar) para mostrar cómo los diferentes bloques de código se relacionan entre sí?
  • ¿El código de muestra en varias columnas de lado a lado el trabajo en absoluto?
  • ¿Alguien necesita cosas como la numeración de líneas, líneas alteran, etc.?
¿Fue útil?

Solución

Esto no responde exactamente la mayor parte de las preguntas, pero que podría estar interesado en leer sobre Literate programación. El quid de la cuestión es que escriba su código y la documentación en el mismo documento, y que está formateado para web o impresión o lo que sea. Y cuando digo la documentación aquí, no es por lo general fragmentos de una sola línea de documentación, pero párrafos enteros o páginas que describe lo que está pasando en el programa.

Otros consejos

Bueno, permítanme añadir mi voto en contra de las fuentes proporcionales, tal como se utiliza por BS en el TC ++ PL. Realmente me vuelve loca! Del mismo modo Soctt Meyers en STL eficaz, con el horror añadido de algunos hightlighting desagradable.

Para mí, el libro clásico en la programación siempre habrá K & R, ya que no creo que nunca ha sido mejorada en aras de la claridad de la presentación. así que yo sugeriría que copiar servilmente.

Me gusta el uso de un juego de caracteres extendido al escribir código ficticio en el texto. La Látex fuentes de código y marcado matemáticas funcionan bien.

Un buen ejemplo sería el uso de una flecha izquierda para la asignación o la unión en lugar de =. Los mejores ejemplos de código en los libros que he visto ha sido cosas como el libro del dragón o TAOCP. Creo que una mezcla de etimología matemática debido a la capacidad de prestación de estos personajes y una relación con la sintaxis común es grande.

Una mezcla de las fuentes habituales de tipo fijo y mensajería marcado matemáticas avanzadas disponibles a través de la computadora moderna en LaTeX creo que funciona bien para los lectores de una disposición matemática ... y pueden ser muy agradable.

Sólo un par de cosas que cruzan mi mente:

  • Limite el número de líneas a un mínimo
  • Los números de línea sólo cuando sea necesario
  • Por supuesto que puede utilizar diferentes tipos de letra, pero ¿qué pasa con un fondo diferente? Como un gris claro? Recuadro su código y creo que no hay ningún problema en poner dos cajas al lado del otro.
  • depende de los costos, pero ¿qué pasa con la coloración de ciertos elementos - como la mayoría de entornos de desarrollo hacen -?
  • Comentario de trabajo, código de mundo real! Por tanto, yo sugeriría usar el comentario // estilo normal y no sólo una fuente diferente.
  • Me usaría como una fuente monopaced Consolas.
  • Desde los comentarios suelen aparecer sólo como un color diferente (al menos en los entornos de desarrollo que he visto), me gustaría dejar en como está.
  • ¿Qué quiere decir por "mostrar cómo los bloques se relacionan entre sí"? indicar que las funciones, si las declaraciones, etc. comienzan y terminan? Si es así, podría ser útil; Sinceramente, no sé.
  • Podría funcionar si estuviera comparando un par de trozos de código para indicar alguna diferencia sutil que no funcionaría en una, sino en otro trabajo, pero no veo mucho uso para él más allá de eso.
  • números
  • Línea podrían ayudar si hace referencias como "ir a la línea XYZ en el ejemplo de código anterior".
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top