维基百科:格式手册/计算机

本頁的目的,是為電腦科學、軟體、網際網路及資訊科技等領域之條目提供基本的格式指引。在遵循此指引的同时,也应该遵循格式手册的其它方針與指引。

商標

在編輯與電腦科學相關公司、產品或服務之商標名稱時,請遵照維基百科的商標相關方針與指引。

避免常見錯誤

維基百科不是字典。使用者應盡量將相同性質之科技相關術語或產品整合為較完善、優質的文章,而不是建立大量的小作品

產品目錄

任何介紹產品的條目皆應包含其開發背景及版本更迭。但是,維基百科不是目錄也不是資訊收集處,因此不應將該產品的每一次更新或版本更迭全部列出。基本上,只需要包含一定程度的資訊,能讓讀者大致了解該產品的演進歷程即可。如需列出产品的所有版本,可以在维基数据处编辑对应数据项的“软件版本”属性

同時,也不要直接將產品諸多特色以列表形式呈現,因為表列的資訊可能會過期,或因為協助廣告或宣傳嫌疑而遭到移除;另外,請儘量不要使用模稜兩可的時間詞,如「近年來」及「今日」等。

產品的命名

在為產品條目命名時,應建立其最常用名稱重定向頁

大多數的軟體供應商會使用兩種方式為產品系列中的某一特定版本命名:

  1. 版本號命名,如iOS 11iOS 12等。
  2. 特定名稱命名,如Windows XPWindows Vista等。

不過電子遊戲業界則不同。大部分的電子遊戲標題中帶有的數字,是用以表達前作及續作之間的關係,而不只是單純的版本號。例如,《超級瑪利歐兄弟3》跟《超級瑪利歐兄弟2》為前後作關係,是兩款完全不同的遊戲。不過有些時候電子遊戲發行商仍會使用版本號以區別特定更新版本,例如《終極動員令:紅色警戒2v.1.008就單純只是《終極動員令:紅色警戒2》的更新補丁而已。

在描述產品時請儘量使用其最常使用的名稱,如應使用Windows XP而不是Windows 5.1或Windows NT 5.1。另外,請不要混用版本號及特定名稱,如應避免使用Windows v6.0或Windows 6指代Windows Vista。同時,維基百科也禁止自創縮寫

服務包

服務包程式的更新、修復和補丁的合輯,基本上以獨立安裝套件之形式發布。使用者在編輯相關條目時,應清楚區分服務包與產品用詞。

在描述服務包本身時,應列出該服務包之全名,例如:

  • Windows XP Service Pack 2
  • WinZip 9 Service Release 1

在描述已安裝服務包的產品時,建議使用「(已)安裝『服務包名稱』的『產品名稱』」,例如:

  • (已)安裝Service Pack 2的Windows XP
  • (已)安裝Service Release 1的WinZip 9

此外,在有需要時,可將軟體版本號簡寫,例如:

  • Windows XP SP2
  • WinZip 9 SR-1

請儘量只使用上述其中一種方式撰寫條目。若過度混合使用,將導致不熟悉科技術語的讀者無法區分服務包及產品兩者之間的差別。若引用來源中同時使用多種描述方式時,請盡量減少文章中的用詞差異,並詳細描述每一用詞所指對象。

x86與IA-32

在撰寫電腦相關條目時,請謹慎使用「x86」一詞,因為其定義可能根據文章性質而有所不同。廣義的x86是指由英特爾首先推出,其它廠商隨後跟進研發的一種中央處理器指令集架構。x86又根據所使用的位元組字長不同,分為採用32位元架構的IA-32與採用64位元架構的x86-64,其中IA-32因其高普及率成為「x86」的代名詞。不過,在撰寫條目時,仍應將用詞區分清楚。

使用範例
正確用法 錯誤用法 備註
「此程式支援IA-32及x86-64架構。」 「此程式支援x86及x86-64架構。」 由於x86-64本身為x86架構分支之一,將兩者並列即屬畫蛇添足。
「此程式支援IA-32架構,但不支援x86-64架構。」 「此程式支援x86架構,但不支援x86-64架構。」 由於x86架構中已包含x86-64,使此段描述自相矛盾。
「此程式支援IA-32、ARM及PowerPC架構。」 「此程式支援x86架構。」 儘管x86、ARMPowerPC屬於相同層級且互不相容的硬體架構,將其並列理論上並無不妥之處;但由於「x86」一詞本身有多重涵義,在沒有特別指明整個x86架構皆包含在內的情況下,應將詳細的分支架構列出

32位元與64位元

請勿使用任何關於位元組字長,如「32位元」、「64位元」等用詞描述特定軟硬體架構。由於這些用詞之定義過於模糊不清,若使用容易造成讀者誤解。

在多數情況下,32位元及64位元分別是指採用該長度位元組之中央處理器架構中最常用者,即IA-32及x86-64(又稱x64)。但由於兩者皆不是唯一採用32及64位元的架構,因此不能用以代稱「32位元」及「64位元」中央處理器。在撰寫條目時,應清楚列明特定架構名稱。

正確用法舉例:

  • 「此程式支援x64架構之中央處理器。」
  • 「至於產品的IA-64版本⋯⋯」
  • 「⋯⋯專為Zilog Z80及與其相容的中央處理器設計的.z80格式⋯⋯」

錯誤用法舉例:

  • 「此程式支援64位元架構之中央處理器。」
  • 「至於產品的32位元版本⋯⋯」

Linux與GNU/Linux

請使用「Linux」而非「GNU/Linux」描述以Linux核心為基礎的作業系統。GNU/Linux一詞應用於描述特定作業系統和部分Linux發行版

儘管自由軟體基金會建議使用GNU/Linux為Linux的標準譯名,但維基社群基於名從主人原則,在參考諸多可靠來源及長時間的多方討論之後,決定否決自由軟體基金會之主張,選擇以Linux作為維基百科內的通用譯名。

任何主張都要有來源佐證

在維基百科中,任何主張都必須有可靠來源佐證,包括軟體的發售時間、大小、支援語言及開發時所使用的程式語言等。有些主張看似「不必證明」,因而容易被編輯者所忽略,包括「支援多種語言」、「以C++語言撰寫」及「在Windows環境中開發」等。

用詞的搭配

請不要刻意在條目中使用贅詞或艱澀難懂的字彙。維基百科的目標是讓讀者閱讀資訊時感到舒適,而不是成為線上權威學術期刊。若無必要,請勿使用罕用或具違和感的同義詞,因為沒有必要

常見情形如下:

  • 已經被被開發者或版權所有者忽略,因此不再進行銷售或提供技術支援的電腦軟體應稱為「已被廢棄的軟體」(abandonware),而不必使用「已被忘卻的軟體」(forgottenware)等具不必要文學意涵的用詞。
  • 描述「產品的生命周期結束時,供應商停止行銷、售後服務等行為」的術語應稱為「停止支援」(discontinuation)而非「丟棄」(abandonment)。
  • 電腦程式「運行於作業系統中」(run under),而非「運行於作業系統上」(run up)或「運行於作業系統下」(run down)。
  • 電腦程式「用戶帳號」(in/within the context of a user account)存取資料,而非「自用戶帳號上」(on)、「自用戶帳號下」(under)、「自用戶帳號裡」(inside)或「自用戶帳號外」(over)存取資料。儘管這些詞語在口語或非正式場合使用是沒有問題的,但典範條目標準建議使用較精準的詞彙。
  • 儘管都是「碟」,但「光碟」(disc)與「磁碟」(disk)採用的讀取結構完全不同,前者使用光學雷射掃描,後者則使用磁性媒介讀寫,請多加注意。

描述口吻

請避免使用過去式描述具有存在事實的事物。

錯誤用法舉例: System Software 6曾是蘋果電腦開發,並發行於麥金塔平臺上的作業系統

上述用法會讓讀者認為System Software 6這個作業系統現在已經「不是由蘋果電腦開發」、「不是發行於麥金塔上」了;但事實上作為已經發售的作業系統,其開發者及發行平臺皆已成為既定事實,並不會隨時間經過而改變。若必須要表達該事實已經發生,則應使用適當的年代表述。

正確用法舉例: System Software 6蘋果電腦開發,並於1988年4月發行在麥金塔平臺上的作業系統

命令行相關

命令行范例指的是一段程序或者shell命令的具体用法,用户可以将其输入计算机终端或者命令提示符运行。本章节描述这些范例,以及其他命令行内容的格式规范。

通用指引

当提供命令行范例时应当保持清晰和简单。这不仅会显得更专业,同时也防止读者产生困惑。下面的指南界定了什么是清晰,简单的范例。

  • 命令行的例子应当采用等宽字体。对于行内的代码,应该使用 <code>(有时要配合<nowiki>)。对于多行的代码块,应该使用mediawiki语法,在行前加一空格;或者也可以使用<pre>生成不带维基文本支持的代码块。对于Unix shell,也可以使用<syntaxhighlight>lang="shell-session"高亮。
  • 维基百科不是一个展示作者的个人偏好的媒介。因此除非有必要,否则不应包含任何环境变量日期工作目录用户名主机名称
  • 术语:选项(option)是一种开关(一些修改一般行为的命令) 。参数(parameter)是一个特定值,如文件或主机名称。引用(argument)这个词是用来指任何空格分隔的字符串按照命令的名字,其中包括选项和参数。
  • 列举引用时,应注意保持简单。不加解释地定义引用会混淆读者。
  • 维基百科不能取代手册页。条目不应该列出与命令相关的整个选项列表,除非这样的选项非常少,或者这样的描述方式是绝对必要的。
  • 当指定参数时,应当使用合理的名称来指代他们。这些名称应该使用斜体,不应包含空格(空格通常用来分隔命令行的多个引用,使用空格会导致混淆)。以下是一些例子:
(提示符) command parameter-name
(提示符) command parameterName
(提示符) command parameter_name
(提示符) command parametername
  • 一致性是很重要的。不要在同一个条目里同时使用上述四种方法来命名参数,以免混淆读者。
  • 非必须并且可以完全省略的引用应放在方括号[ ]中。
  • 有很多方法指定重复的参数。以下两个是最常见的:
(提示符) command parameter0 [.. parameterN]
(提示符) command [parameter ...]

具体平臺指引

DOS、Windows、OS/2

目前最常见的DOS平臺是Windows平臺下的MS-DOS。因此,仅在MS-DOS下适用的例子一般不需要特别说明。但是,如果该实例仅针对某个特定版本的MS-DOS,那么应当标明相关信息。如果已知其他的DOS平臺下该范例有不同的效果,也应当加以说明。 适用于DOS命令行的例子应遵循下列额外的指导方针:

  • 程序或命令名应全部大写。
  • 标准的MS-DOS风格的选项(例如/C,其中C可能是其他字符)也应该大写,除非它们是区分大小写的。
  • 程序名称应当附加适当的文件扩展名,以与内置的命令名称相区别。如果某些版本的MS-DOS中不包含某个特定的程序(如MOVE.EXEEDIT.COM),那么应当注明包含这些程序的版本。

类Unix系统

  • 大部分类Unix系统的命令实际上都是可执行文件。Shell内建的命令(如cdhistory)也在我们讨论的范围内。
  • 类Unix系统中常见的Shell相互之间有着一定的差异。因此,与特定的Shell相关的命令或者实用程序(如for循环或者流特性)应当尽可能地避免。
  • 如果为了正确地作出说明必须使用一串与特定Shell类型相关的命令,那么你应当同时提供类ALGOLshkshbash代码,以及C语言风格的cshtcsh代码。两者的语法没有差别时无需这么做。
  • 类Unix系统中的大部分命令都是全部使用小写字母的。然而,由于shell和操作环境区分大小写的特性,应注意大小写格式与命令或文件名匹配。如果有必要,建议使用标题错误模板
  • 通常情况下需要权限的命令与不需要权限的那些应当加以区别。如果某个命令确实需要特定权限,那么应当给出一份免责声明指出在无限制的权限下执行命令所具有的风险。
  • 在某些情况下,命令行参数很可能包含一些shell元字符(如通配符等)。在这种情况下,明智的做法是在例子中使用引号,以防止用户收到让他们感到奇怪或者毫无来由的错误。

提供范例输出

为一个命令提供输出范例是一种保守的做法。这种情况下应当给出在终端中实际键入的完整的命令和所有的参数。命令的输出因此将只依赖于运行环境和其他变量。依顺序使用标签prenowiki可以确保输出文字的格式正确。

使用范例

DOS

  • DOS 預設命令DIR,這用於列出檔案和資料夾:
> DIR [options] [pattern ..]
  • MS-DOS (其行为模拟了先前版本DOS的功能)上的程序 MOVE.EXE:
> MOVE.EXE source target

常规Unix

  • 用Unix风格系统上的ls命令列出文件和目录:
$ ls [options] [file ..]
  • mkfs命令创建新的文件系统,通常需要一定的权限:
# mkfs [-t fstype] [fs-options] device
  • wget程序,GNU实用工具之一,根据给出的URI获取文件。URI可以包含shell的元字符,因此参数需要加引号以防止出错。
$ wget [options] 'URI'

Shell特性

  • sh/ksh/bash中内置if结构的语法异同:
$ if command ; then command ; .. ; fi

在csh/tcsh中:

% if (expression) then command ; .. ; endif

输出举例

  • df命令的输出举例,列出了挂载的文件系统磁盘空间使用情况:
$ df -P
Filesystem          512-blocks      Used Available Capacity Mounted on
/dev/hda2             39331760   7398904  29834768      20% /

避免重复举例

按照方针,维基百科不是教程,也不是未经筛选的例子收集处。编者应该将页面上已有的冗余代码全部移动至维基教科书的相关页面。

  • 在算法类条目(如快速排序)中不应用几种类似的语言重复举例,而要使用单个语法简单的流行语言或伪代码书写范例。按照不同编程范型实现算法、分开举例则一般是可以接受的。编者可以在维基教科书b:算法实现内罗列各种语言的实现。如b:算法实现/排序/快速排序。避免使用为特定语言、计算平台或编译器的代码优化而损失可读性的代码片段(如p[++i]=xxx;),请在维基教科书中详细介绍此类代码片段。
  • 在命令行程序的条目中的例子语言(csh、bash、cmd…)不同常常是Shell命令语言的不同。这不属于程序本身的功能,也须节制加入。
  • 在计算机语言条目(如Python)中不应使用大段代码来介绍该语言的语法。最好只保留该语言的helloworld程序示例,并使用文字或列表来说明该语言所支持的语法特性(如循环、函数对象等),并添加内部链接指向那些语法特性。
  • 移动代码段时要做以下几件事:
    • 在维基教科书的讨论页张贴来源横幅。
    • 在条目的外部链接部分使用{{wikibook}}模板来指出代码的位置。
    • 编辑维基数据项,添加跨语言链接,将教科书内的页面和维基百科条目关联。

網址

公開的URL

HTTP和HTTPS

一個網站可能同時支援超文本傳輸協定(HTTP)和超文本傳輸安全協定(HTTPS)傳輸協議,即網址以http://https://開頭。我們建議使用者參照以下模式加入連結:

  • 當網站只使用HTTPS,或同時支援HTTP和HTTPS時,使用https://
  • 當網站只使用HTTP時,使用http://