讓程式設計師早點下班的《技術寫作指南》

豐色 發自 凹非寺

量子位 | 公眾號 QbitAI

對於程式設計師來說,每天不是在寫bug,就是在修bug~

在不停coding之外,

做好一些細節

毋庸置疑也可以幫助我們早點下班。

這不,國外一位前端開發就總結了一篇《程式設計師技術寫作指南》,關於如何正確寫程式碼註釋、寫PR描述等等。

這些東西雖然都是小事兒,但如果大家都不規範,程式碼維護起來有多痛苦?

懂得都懂。

讓程式設計師早點下班的《技術寫作指南》

那麼,具體都要注意些什麼呢?

程式設計師技術寫作Tips

1、程式碼註釋

程式碼註釋既是寫給自己看,也是寫給別人看的。尤其是後者,更要寫得清楚明瞭。

對此,指南給了三點注意:

(1)寫關鍵資訊,不寫廢話

一個簡單的例子。

錯誤寫法:

red = 1。2 // Multiply red by 1。2 and re-assign it(將red變數2,再賦值給它)

正確寫法:

red *= 1。2 // Apply a ‘reddish’ effect to the image(給影象應用“reddish”效果)

很好理解。不要複述程式碼,要寫這段程式碼的深層含義,提供增量資訊。

(2)程式碼改動後註釋也要更新

有這樣一行程式碼和註釋:

cities = sortWords(cities) // sort cities from A to Z(由A-Z排序城市變數)

但作者寫錯了,其實sortWords函式是從Z-A進行排序。

不過沒關係,再加個反轉就好了,於是程式碼變成這樣:

cities = sortWords(cities) // sort cities from A to Z(由A-Z排序城市變數)

cities = reverse(cities)

然後問題就來了,別人不知道這個過程,只看到第一行的註釋,會自然以為城市是先按A-Z進行排,然後再反過來從Z排到A。

這就是改了程式碼不改註釋的後果。

當然,這個例子是被放大了。但類似事情確實有可能造成不必要的麻煩。

(3)反常用法一定要註釋

有時,你為了進行一些相容各種瀏覽器等目的,可能會在程式碼中加入一些不常規的寫法。這時就一定要注意寫註釋。

不然別人可能一看覺得“這寫得啥”,唰地就給你改過來了……

讓程式設計師早點下班的《技術寫作指南》

例子:

function addSetEntry(set, value) {

/ Don’t return set。add because it’s not chainable in IE 11。 (不要返回“set。add”,它跟IE 11不相容)/

set。add(value);

return set;

}

這裡插播一點,指南提到:

不管寫什麼,

儘量多用主動語態

,因為正常人看到被動語態的句子時都需要在腦子裡轉成主動語態,沒必要增加這種處理時間。

(4)貼解決方案的連結

有時你遇到問題去網上搜到了解決辦法,那麼可以把連結附上,方便回查,以防萬一。

有網友就表示這條建議非常有用,因為有時他就會忘記自己當時為什麼要這麼寫程式碼。

讓程式設計師早點下班的《技術寫作指南》

2、PR描述

提交程式碼時怎麼寫PR描述也是一個重要的細節,關乎到程式碼審查的效率。

雖說很多團隊內部都有規範,但有人就是不怎麼遵守。

下面這幾點尤其需要注意:

(1)寫詳細,不要寫“新增補丁”、“修復錯誤”這種模糊的表述;

正面例子:

eg1。支援NgOptimizedImage中的自定義srcset屬性

eg2。為所有內建ControlValueAccessors新增顯式選擇器

(2)不要一氣提交上千行程式碼,儘量完成一小部分就提交,減輕評審壓力。

3、報告bug

需要提交錯誤報告時,儘量:

(1)多用截圖/動圖來輔助文字描述問題;

(2)提供重現問題的精確步驟;

(3)提供你分析的可能的原因。

4、Microcopy

ps。對於國內情況的話,本部分內容更適合產品經理食用。

Microcopy指的是使用者操作/系統出現失誤時,你的網頁/APP彈出的提示語。

這種提示語怎麼寫,也有講究:

(1)避免使用技術名詞。

相信很多人都遇到過彈出來一行你看不懂的技術提示語的時候,比如“執行超時“這種,讓你不知道發生了什麼,不知道該怎麼做。

要避免這種情況,最好是不解釋出現了什麼錯誤,直接告訴使用者該做什麼。

(2)不要“責怪”使用者。

想象一下,你開啟一個網站,進行登陸,然後被告知:“您的電子郵件/密碼不正確。”

這種表達方式會讓人下意識地覺得不舒服,讓使用者覺得自己“很傻”。

正確方式:

“抱歉,電子郵件密碼組合不正確。我們可以幫助您恢復您的帳戶。”

還有一點:儘量避免字母全部大寫或者使用感嘆號,會帶來敵意。

(3)恰當使用幽默語氣,有時強迫幽默比不幽默效果更糟糕。

原指南中還包括一些如何跟客戶溝通的建議,歡迎感興趣的朋友戳連結去閱讀~

最後,關於程式設計師技術寫作,你還有補充嗎?