一套關於誠實系統的小標準。六條原則。人人可用,公共領域。
它不是協定、框架,也不是法律。它是這一切之下的那一件事: 一個系統,應該對自己說真話。
1 — 狀態如實。 一件製成品要如實說出自己的狀態。「即時」與「快取」、「完成」與「待處理」、 「實測」與「估算」是不同的事實 — 介面要說清楚是哪一種。
2 — 失敗要看得見。
失敗要顯而易見地降級。「我讀取不到」絕不可以悄悄變成一個自信的 0、
一個空清單,或一個綠色剔號。要大聲壞掉,不要靜靜壞掉。
3 — 決定可被查問。 針對一個人所作的決定,那個人有權查問。一個分數、一筆費用、一個標記、 一次拒絕 — 每一樣都要附帶一條問「為什麼」的途徑。
4 — 新鮮度要標明。 要標明新鮮度。快取的值不是即時的值;估算不是實測;一刻之前的價格不是 現在的價格。說清楚它有多舊。
5 — 名實相符。
名字指向「實際是什麼」,而不是「希望是什麼」。標籤要對得上實物 —
final 就是最終,verified 就是已驗證,secure(安全)不是一種感覺。
6 — 確定性要標示。 當你不能肯定,就說出來。信心要標示,絕不假裝。而且,沒有證據不等於 證明了沒有 —「沒有發現」不等於「沒有問題」。
誠實是唯一會複利的標準:你建立的其他每一種品質 — 速度、安全、美 — 一旦系統會就「它是否擁有這些」對你說謊,那一刻就全部貶值。
— 英文正本:README.md