答案当然可能取决于许多因素,但如果我们从正确、格式良好的纯文本代码开始,那么在这里或多或少可以概括事物。
源文本中的初始“格式”将是:
换行符、空格和制表符。请注意,新行和手动换行符(如在 DTP 软件中)不是一回事,反之亦然,一些罕见的语言可能
允许其他格式字符,尽管我从未听说过这样的。
注释不是代码的可执行部分,因此如果知道它是否真的是注释,则可以重新格式化它们而没有太大风险。所以首先要看的是如何标记评论。
关于初始纯文本格式的一些基础知识很高兴知道。例如,对于 Python,有PEP8 风格指南。虽然是为 Python 制作的,但此格式指南可用作 C/C++ 和 Java 等主要语言的参考。有疑问时,查看各种示例项目会有所帮助。
因此,第一个原则是:不要更改源文本。
我会通过一个清单 - 确保:
- 在任何阶段都不会发生字符自动替换。
- 不对文本进行任何编辑(除非您 100% 确定必须完成)。
- 没有出现换行。
- 缩进在视觉上被保留并且是一致的(每级缩进大约四个x宽度)。
- 初始(零)缩进级别应该是可见的。
- 定义的样式不会破坏语法的格式(如果使用语法突出显示)。
- 以纯文本形式备份源文件,以便能够重新检查原始格式或重新开始。
- 行号(如果存在)应该是完整的,尤其是在解释中引用它们时。
实际上,如果原始源格式正确,则根本不应该换行。如果绕线仍然出现并且是不可避免的,那么一级悬挂缩进是最常见的解决方案(参见上面链接的 PEP)。如果需要换行 - 最好咨询样式指南或作者。
仍然有一些小的“空白”字符可能需要替换。由于源可以包含制表符,这当然意味着排版员必须确保每行开头的所有制表符都是一致的,即嵌套缩进在视觉上保留并且每个下一级缩进具有相同的宽度(大约四个x 每一级缩进的宽度)。
理想情况下,使用空格字符或混合空格和制表符制作的缩进应该替换为制表(或 DTP 软件可以更好地处理嵌套缩进),因此,如果需要,调整缩进可能会更容易。
当然,可能会留下空格,但在更改字体时可能更难管理它们的宽度,并且更难对齐表格列中的内行缩进。
等宽字体 + 空格
请注意,如果源文件有意使用空格进行格式化,并且仅打算以等宽字体阅读(例如 ASCII 图表或 ASCII 艺术),则应完全保持空格不变,但应从一开始就做出此决定。“Courier New”字体在这种情况下最常见。如果不是真的需要,我建议不要使用等宽字体,因为如今越来越少的新人选择等宽字体进行编码,并且在校对的情况下,比例字体将提供更好的阅读体验。
一般而言,精简(例如 Arial 窄)或更小的字体可能效果更好:与正文相比,它更加强调,它会使代码更紧凑,因此不太可能出现不需要的换行。
我想这里可以画一条线,如果以上都做了,那么有 99% 的概率一切都应该没问题,至少对于没有颜色的纯单字体代码块来说是这样。
工具和高级格式化
此外,使用语法突出显示可以显着改善外观。
最重要的问题是,布局制作者是否有可以以可读形式表示代码的工具。幸运的是,有很多免费的代码编辑工具,最突出的(适用于 Windows)是:Notepad++、VSCode、Visual Studio。但是请注意可能隐式自动将制表符自动转换为空格。
在 Notepad++ 中有一个将代码导出为RTF的选项,这将保留源的所有格式和语法突出显示。
如果布局不需要改变代码呈现的文本流向,可以直接使用图片(截图)——它不像文本那么灵活,但会保留100%的格式和行号,可以节省很多时间。例如,行号可能很难以文本形式保存。导出为PDF也是一个不错的选择 - 但并非所有 DTP 软件都可以嵌入 PDF,并且在打印为 PDF 时可能会丢失某些格式。
例如,我在 Notepad++ 中的 Python 代码设置如下所示:

这只是为了说明,可以直接使用屏幕截图,这实际上可能是最简单的方法。有多种工具可以帮助进行屏幕捕获——可能需要“拼接”屏幕以获得更高分辨率的图像。
颜色方案当然是个人的,在编辑器的样式配置器中定义,它已经知道支持的语言,因此即使不知道语法也很难做出错误的格式。这里一般的排版规则应该起作用:颜色不要太多,字体一致,缩进,舒适的行距。
用于自定义语言定义的其他工具/插件也很常见,但需要语法知识。