Go 語言編碼風格指南

2021-10-09 13:02:37 字數 3718 閱讀 8890

命名切片

字串隨機數

錯誤處理

在go語言官方提供的effective go的基礎之上,我們制定了如下的編碼規範作為補充。

像這樣:

// this is a comment
不要這樣:

//this is a comment
用於**生成的指令不需要遵循這個規則:

//go:generate go run gen.go
另外,臨時注釋**也不需要新增空格,並且這些注釋應該在提交之前刪除。

// mathematical constants.

const pi =

3.1415925

像這樣:

// 包級別匯出的變數

var errsomthing = errors.

new(

"something wenti wrong"

)func

main()

不要這樣:

var errorsomething = errors.

new(

"something went wrong"

)var somethingerr = errors.

new(

"something went wrong"

)var somethingerror = errors.

new(

"something went wrong"

)func

main()

注意,錯誤訊息應該用小寫字母開頭的字串,因為這些訊息可能會與其他內容拼接。

像這樣:

// 匯出的變數

var oauthenabled bool

var githubtoken string

// 未匯出的變數,小寫第乙個單詞的全部字母

var oauthenabled bool

var githubtoken string

不要這樣:

// 未匯出的變數

var oauthenabled bool

var githubtoken string

像這樣:

github.com/shurcool/tictactoe/player/random不要這樣:

github.com/shurcool/tictactoe/players/random注意,example內的資料夾名稱也是單數形式的。

像這樣:

var users [

]string

不要這樣:

users :=

string

// or

users :=

make([

]string,0

)

像這樣:

if

len(s)

>

0

不要這樣:

if s !=

nil&&

len(s)

>

0

類似地,mapchannel也可以使用len()檢查是否為空。

像這樣:

var s1, s2 [

]byte

// ...

copy

(s2, s1)

不要這樣:

var s1, s2 [

]byte

// ...

for i, v :=

range s1

for i :=

range s1

slice =([

]byte

("hello "),

"world"

...)

像這樣:

if s ==

""

不要這樣:

if

len(s)==0

雖然這兩種寫法都是正確的,但前一種寫法的可讀性更好。

import

("crypto/rand"

"fmt"

)func

key(

)string

return fmt.

sprintf

("%x"

, buf)

}

像這樣:

}不要這樣:

}像這樣:

func

formattimewithmessage

(hours, minutes int)(

string

,error

)// ...

}

不要這樣:

func

formattimewithmessage

(hours, minutes int)(

string

,error

)// ...

}

當多個地方都有呼叫 formattime 函式時,後者無法有效地定位錯誤**。

todo

todo

語言編碼風格

打算重新學習一下程式語言,已c語言為例,本類文章主要記述學習過程。c語言的程式設計風格,好的程式設計風格能讓人一眼看明白 的含義,並且讓 就像是藝術品一樣精彩,一下為參考一下優秀的注釋內容和 內容來使自己的 清晰易懂,便於維護 這是乙個事例程式,版權屬於cc 使用陣列的乙個例子 include vo...

來自 Google 的 R 語言編碼風格指南

r 語言是一門主要用於統計計算和繪圖的高階程式語言。這份 r 語言編碼風格指南旨在讓我們的 r 更容易閱讀 分享和檢查。以下規則系與 google 的 r 使用者群體協同設計而成。概要 r編碼風格約定 一 表示和命名 二 語法 三 組織 概要 r語言使用規則 四 語言 五 例外 六 結語 七 參考文...

來自 Google 的 R 語言編碼風格指南

r語言是一門主要用於統計計算和繪圖的高階程式語言.這份 r 語言編碼風格指南旨在讓我們的 r 更容易閱讀 分享和檢查.以下規則系與 google 的 r 使用者群體協同設計而成.檔案命名 以.r 大寫 結尾 識別符號命名 variable.name,functionname,kconstantnam...