【问题标题】:How to Format Code in Research Reports [closed]如何在研究报告中格式化代码 [关闭]
【发布时间】:2010-03-18 06:00:26
【问题描述】:

我目前正在撰写一份正式的研究报告,我将在此报告中包含代码。

问题:是否有一种公认的在研究报告中显示代码的方式?我正在考虑字体、间距等方面,以及代码是否应该显示在文档内部或附录中。

代码将是 JavaScript 和 PHP。代码的任何部分都不会超过 25 行(所以它们只是 sn-ps)。大约会有六个 sn-ps。每个 sn-ps 都会有几段解释代码中发生的事情,并讨论其优缺点。

我与将向其提交报告的机构没有联系,他们也没有关于如何格式化代码的发布指南(请不要质疑这些点)。

【问题讨论】:

    标签: coding-style report readability code-readability


    【解决方案1】:

    这取决于你的论文所写的风格指南是否符合......

    通常代码应该以单型字体编写,以便于阅读(例如 Lucida Sans Console 或 Courier New)。这意味着所有字母在页面上占据相同的空间。

    当我为发布编写代码时,我已将代码从侧面缩进 2.5 厘米,并使用 Lucida Sans Console 字体为其赋予浅灰色背景...遵循 C 样式代码缩进。

    我会询问您的机构是否有风格指南,但由于您缺乏这种能力,请使用哈佛系统等流​​行的风格指南,并确保您始终遵循相同的格式。

    以下是来自 Google Scholar 的显示风格的期刊列表: http://scholar.google.com.au/scholar?hl=en&q=PHP+SQL+programming+journal&btnG=Search&as_sdt=2000&as_ylo=&as_vis=0

    【讨论】:

    • 感谢您的回答,已考虑在内。您对代码应该放在正文中还是放在附录中有什么想法吗?
    • 如果它小于一页,我总是将它放在内联,如果它是一长串代码,我总是将它放在附录中。如果它很长,那么可能也值得研究一下行号,然后您可以交叉引用代码。我所有需要代码或数组等的大学论文都被引用为 Code 1.0 Code 1.1 等。并且是内联的。
    • 嗨,我在一所大学工作 - 通常在这里(主观!)代码的主要部分作为附录添加,任何代码示例都添加到报告中。代码应始终遵循给定的编码约定(也是主观的!)
    【解决方案2】:

    这是我的偏好:

    内联编写时,去掉与解释无关的代码(如import 前面提到的语句,但也可能是“显而易见”的变量声明等)。内联代码的目标应该是便于与描述该代码块的段落进行交叉引用。

    附录中的代码应该是完整的(如 - 您可以将其放入编译器并按 go)。

    不要害怕在 sn-ps 中放置大量缩减的代码,以及对包含完整代码的附录的引用 - 附录代码供某人单独阅读/运行。内联代码供人们浏览并帮助理解该部分的具体要点。

    【讨论】:

    • +1 所有的好建议。写。附录中的代码:如果它都是可执行的,那就太好了,但这通常是不切实际的。拥有一个独立的文件,它是有文字的代码,可以在不牺牲简洁性的情况下保留可执行性。
    【解决方案3】:

    我会说带有标准文本间距和标准行间距的 Courier 字体,全黑文本,适当的缩进。

    就代码本身而言,省略import语句,cmets就可以了。您可能希望在代码中添加脚注(如 {1}、{2})作为注释,并在下面解释代码的文本中引用。

    这篇论文在第 6 页有一个例子:

    http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.pdf

    【讨论】:

    • 同上评论:感谢您的回答,已考虑。您对代码应该放在正文中还是放在附录中有任何想法吗?
    • 我会将相关部分内联以说明要点。
    【解决方案4】:

    我知道这是一个老问题,但不要忘记给代码中的行编号!对于单行,可以跳过数字,但任何更大的数字,几乎都是必需的。

    【讨论】:

    • 我不同意,我发现阅读具有稀疏特定标签的代码示例要容易得多,例如 a、b、c 在黑圈上显示为浅色字母。除非你真的需要解释每一行,否则只为每个交叉引用添加标记。
    【解决方案5】:

    如果您正在撰写研究报告,您应该使用 LaTeX。

    我通常使用 LaTeX vancyvrb 包和 Verbatim

    不过,另一种选择是使用listings 包。它可以直接使用lstinputlisting 命令输入文件。它会自动为您的行编号并使用 _ 字符而不是空格字符,但这是可编程的。真的很不错。

    【讨论】:

    • 乳胶很好,但也有非常不错的替代品。
    • 像什么?我喜欢能够将我的报告源保存在 SVN 中,将图形作为对其他文件的引用,并生成非常干净的 PDF。
    【解决方案6】:

    JD 和 Ben 说的。

    您应该使用适当的、已建立的语法突出显示。 vy32 提到的 Latex 的 listings 包具有 Javascript 和 PHP 的语法高亮样式,Pygments 程序也是如此,它输出到 Latex、HTML 和 RTF 等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-08
      • 1970-01-01
      • 2011-08-07
      相关资源
      最近更新 更多