blless
2019-03-07 22:18:42 +08:00
就没人说 Go 工程管理远比其他语言便利吗?
一门语言语法根本不能说明什么,说点其他的,写个完整项目需要啥。
首先,得有代码规范,其他语言的代码规范要么宽泛,要么约定俗成。真的要实际应用还得依赖各种第三方库,形成最佳实践。go 代码规范不说,连方法大小写,括号,缩进都规定了,工具链还自带 go vet,go fmt。其他语言要做到这样起码要有个资深项目经理,或者老程序员。直接上 go,我说省下半个项目经理不过分吧?
第二,代码仓库。go mod/go get/go list 就不说了,自带包管理,很多主流语言还是要插件才可以的。特意说一下代码仓库代码仓库,java maven, python pip,node npm,C# nuget...官方仓库当然好用,但是团队合作如果要发布到自己的代码仓库,go 绝对是最省事的,直接部署一套 git 就搞定了。这个特性加上跨平台静态编译,省掉几个运维不夸张吧?
第三,集成测试。go test /benchmark,go tool cover。不多说了,项目稳定性,健壮性基本都是靠测试用例堆起来的。
第四,debug。go pprof,trace。自带不多说了,目前已经自带火焰图了。
第五,文档。go doc。大项目必备。
大概就是这么回事,一条龙服务。其他语言目前这么完备的还没看到,rust 好像有几条已经差不多了。我反正这么用起来还是挺舒服的。