Haskell/风格规范
此页面(以及可能本身的约定)正在不断发展。 |
此页面记录了 Haskell 维基教科书中使用的一些风格规范。在开始之前,需要说明一些重要事项。
- 此页面将为大多数现有规范提供示例;因此,如果您对如何将它们添加到页面有任何疑问,只需单击“编辑”并检查维基文本源代码。
- 目前,这里许多规范仍在不断变化;并且多年来这本书积累了一些不一致的地方(我们将指出一些最令人讨厌的地方)。您可以使用 讨论页面 表达您对这些问题的意见,并使它们更接近解决。
- 最后但并非最不重要的是:不要因为这些规范而责怪新手! 这样做不仅是因为许多要点还没有确定,而且因为对这些规范大惊小怪通常弊大于利 - 坚持下去的新编辑很快就会习惯主要的规范。
大写
[edit | edit source]章节名称和标题(节名称)必须遵循 句子大小写。
代码示例
[edit | edit source]代码块用 <syntaxhighlight lang="haskell"></syntaxhighlight> 标签包裹。
numOfSolutions a b c
| disc > 0 = 2
| disc == 0 = 1
| otherwise = 0
where
disc = b^2 - 4*a*c
我们过去更喜欢使用简单的 <code></code> 用于 GHCi 示例,因为语法高亮显示不完美。然而,自从迁移到基于 pygments 的高亮显示后,这不再是问题。
示例模板
[edit | edit source]除了基本标签之外,还有示例模板 - Template:HaskellExample、Template:HaskellGHCi 和 Template:HaskellGHCiExample - 点击链接查看使用说明。截至目前,这些模板主要用于书籍的前几章。使用这些模板有一些问题。在大多数地方,它们只是为示例添加了一个标题,考虑到没有示例索引,这并没有太多用处,加上在 pre/source 块已经独特布局的基础上,在块顶部添加了一些额外的缩进(但是,参见 关于示例块语义的讨论)。此外,处理这些模板对编辑来说很麻烦 - 不仅仅是因为冗长,还因为转义特殊字符的问题(参见 Template:! 和 Template:=),这些问题使使用模板自动添加 source 和 pre 标签比它值钱还要麻烦。由于这些问题,人们一直在讨论是否完全消除示例模板,但到目前为止,还没有哪个编辑敢于在这方面做出决定。
内联代码
[edit | edit source]内联代码示例,例如 2 + 2 == 4
,应该放在 <code></code> 标签内(tt 标签在几个地方用于该目的;它们正在逐渐转换为 code 标签)。一个小的技术问题是,列表中的列表,例如 [['a','b'],"c"]
,应该在 code 标签内的 nowiki 标签中包裹 - 否则 MediaWiki 或其他渲染器可能会将双方括号处理为维基链接。
导航模板
[edit | edit source]待办:Template:Haskell minitoc、Template:Haskell navigation 和章节模板。
注释和参考文献
[edit | edit source]我们大量使用脚注来呈现简短但分散的旁注、外部参考资料和指向本书后面章节的指针。参考文献应该在文本中锚定的位置添加,在 <ref></ref> 标签内,就像这个[1]。如果一个页面有脚注,Template:Haskell/NotesSection 应该添加到页面的底部,位于最后一个部分和最底部的导航模板之间。
注意
对于更长的旁注,使用 Template:Body note 创建一个正文注释,就像这个。最好不要在一个页面中放太多这样的注释……
链接
[edit | edit source]超链接很有用,但应该谨慎使用 - 因为维基教科书本质上仍然是一本书,它不应该过度依赖外部内容,并且还应该在印刷版中易于导航。书中的内部链接比外部链接问题少,但最好明确链接指向的内容(即,“正如我们将在 Lists II 中看到的那样”比“正如我们将在 几章之后看到的那样”更好)。待办:提及 Template:Haskell lib,以及何时最好将链接移动到脚注。
练习和解答
[edit | edit source]待办:Template:Exercises 和解答页面。
其他
[edit | edit source]待办:数学标签、清除模板和其他小技巧。
注释
- ↑ foobar