离线和书籍中提供源代码的最佳方式是什么?

时间:2009-07-03 11:06:17

标签: fonts typography

在某种程度上有点痴迷,我很好奇:什么是呈现代码的最佳方式 - 在线和离线。特别是,我对以下内容感兴趣:

  • 哪种字体和大小最适合在线和离线?为代码使用比例字体是否更好(例如,像'The C ++ Programming Language'中的Stroustrup一样)?衬线,无衬线或混合?
  • 如何对代码进行注释 - 使用典型的// comment标记,或者只是使用不同的字体(并且没有注释标记)?
  • 是否值得绘制箭头(或类似的东西)以显示不同的代码块如何相互关联?
  • 是否在多列中并排显示代码?
  • 有没有人需要行编号,改变行等等?

5 个答案:

答案 0 :(得分:1)

这并不完全回答大多数问题,但您可能有兴趣阅读Literate Programming。它的要点是您在同一文档中编写代码和文档,并将其格式化为Web或打印或其他任何内容。当我在这里说文档时,它通常不是文档的单行片段,而是整个段落或页面描述程序中发生的事情。

答案 1 :(得分:1)

好吧,让我加上我对TC ++ PL中BS使用的比例字体的投票。它真的让我疯了!类似于有效STL的Soctt Meyers,还有一些令人讨厌的高亮度的恐怖。

对我来说,有关编程的经典书籍将永远是K& R,因为我认为它的表现并不清晰。所以我建议盲目地复制它。

答案 2 :(得分:1)

我喜欢在文本中编写虚拟代码时使用扩展字符集。用于代码和数学标记的 LaTeX 字体效果很好。

一个很好的例子是使用左箭头进行分配或绑定而不是=。我见过的书中代码的最好例子就是Dragon Book或TAOCP。我认为由于能够渲染这些角色以及与常用语法的关系而混合使用数学词源是很好的。

通过LaTeX中的Computer Modern提供的常用固定快递类型字体和高级数学标记的混合物我认为适用于数学处理的读者......并且它看起来非常好。

答案 3 :(得分:1)

我想到了几件事:

  • 将行数限制为最小
  • 仅在需要时使用行号
  • 您当然可以使用不同的字体,但不同的背景呢?像浅灰色?把你的代码包装好,我认为将两个盒子放在一起是没有问题的。
  • 取决于成本,但是像大多数IDE那样着色某些元素呢?
  • 写工作,现实代码!因此,我建议使用正常的//评论样式而不仅仅是不同的字体。

答案 4 :(得分:1)

  • 我会使用monopaced字体 索拉。
  • 由于评论通常只是一种不同的颜色(至少在我见过的IDE中),我会将它们保持原样。
  • 你是什么意思“展示街区如何相互关联”?指出函数,if语句等的开始和结束位置?如果是的话,它可能会有所帮助;老实说,我不知道。
  • 如果你比较一些代码来表示一些微妙的差异,这些差异在一个代码中不起作用而在另一个代码中起作用,它可能会有效,但除此之外,我认为没有多少用处。
  • 如果您在“上一代码示例中转到XYZ行”这样的引用,行号可能会有所帮助。