維基百科:格式手冊/電腦

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

商標

編輯

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

避免常見錯誤

編輯

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

產品目錄

編輯

任何介紹產品的條目皆應包含其開發背景及版本更迭。但是,維基百科不是目錄也不是資訊收集處,因此不應將該產品的每一次更新或版本更迭全部列出。基本上,只需要包含一定程度的資訊,能讓讀者大致了解該產品的演進歷程即可。如需列出產品的所有版本,可以在維基數據處編輯對應資料項的「軟體版本」屬性

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

產品的命名

編輯

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

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

  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 預設命令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://