优秀的Go语言项目推荐

jopen 10年前

优秀的Go语言项目推荐

</div> 优秀的Go语言项目推荐

 

图一

 

有时候,我听见有新Go语言开发者说在找一些优秀的Go项目,来学习和贡献代码。通常我会推荐他们去读Go的源代码,你可以只了解你感兴趣的那部 分,并且可能包含有一些go的例程,这些都是最贴合Go语言特性的实例。在最近一段时间设计了一个可以发现Go项目质量的小工具。
 

我参加了Gopher Gala活动,它是一个48小时全球范围的黑客比赛。我们的团队设计了Go Report Card项目,它的设计目标是估算一个github上开源go项目的质量,这个工具使用了gofmt -s来判定基本格式, go vet来检查程序结构,gocyclo来检查代码圈复杂度,等其他代码,并根据这些工具的评分的平均值作为最终依据。

 

我的队友Shawn Smith和我在github上寻找关注度最高的go项目,并把结果存入mongo数据库。到现在我们评估了github上276个最流行的Go项目。目的是找到评分最高的。我选择那些超过100个Go源码文件,并以评分列表如下:

 

Rank Name Github Repo Go Files Score
1 go-github google/go-github 107 97.1%
2 Cockroach cockroachdb/cockroach 204 89.5%
3 golang/net golang/net 243 87.6%
4 xGo exercism/xgo 142 86.2%
5 Kubernetes GoogleCloudPlatform/kubernetes 636 83.6%
6 syncthing syncthing/syncthing 146 83.0%
7 Packer mitchellh/packer 656 82.8%
8 Drone drone/drone 189 82.5%
9 etcd coreos/etcd 211 82.3%
10 Docker docker/docker 881 81.4%
11 GoLearn sjwhitworth/golearn 111 80.8%
12 NSQ bitly/nsq 116 80.8%
13 GoConvey smartystreets/goconvey 160 79.5%
14 golang/tools golang/tools 452 79.2%
15 Fleet coreos/fleet 151 79.1%
16 LimeText limetext/lime 150 79.0%
17 Flynn flynn/flynn 229 78.4%
18 godropbox dropbox/godropbox 157 78.1%
19 consul hashicorp/consul 182 77.4%
20 terraform hashicorp/terraform 454 74.2%

 

这些大多都是极好的项目,如果你想找些小点的项目先开始,下面是一些源码文件少于100个的高分数项目:

 

Rank Name Github Repo Go Files Score
1 httplogger ernesto-jimenez/httplogger 2 100.0%
2 Google Analytics Beacon Analytics igrigorik/ga-beacon 1 99.6%
3 s3cache sourcegraph/s3cache 1 99.4%
4 watchreadlisten shawnps/watchreadlisten 1 99.3%
5 go-loggly segmentio/go-loggly 1 99.3%
6 Exercism CLI exercism/cli 27 99.0%
7 TextQL dinedal/textql 1 98.7%
8 exercism/arkov exercism/arkov 9 97.2%
9 go-prompt segmentio/go-prompt 6 95.8%
10 SSCC pblaszczyk/sscc 14 94.64%
11 mewmew/playground mewmew/playground 96 91.9%
12 go-stats segmentio/go-stats 3 91.6%
13 localtunnel progrium/localtunnel 3 91.6%
14 freegeoip fiorix/freegeoip 9 91.6%
15 negroni codegangsta/negroni 11 90.9%
16 MAST ikawaha/mast 27 90.7%
17 martini go-martini/martini 16 90.6%
18 Bolt boltdb/bolt 42 90.4%
19 LLVM mewlang/llvm 21 90.4%
20 notify rjeczalik/notify 41 90.2%

如果Go Report Card是靠谱的,那么这些项目都是高质量,真正的好项目。

想了解我们是如何测试这些项目质量的,你可以试试goreportcard。比如图一这个例子:

尽管结果是B,但是依然是一个很不错的项目,值得试试。

 

Herman是一个Go开发者,生活和工作都在亚洲,你可以邮件@ironzeb 他。

原文:Excellent Open Source Go Projects

来自:http://blog.lembed.com/excellent-open-source-go-projects/