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