如何成为一名合格的go开发者

时间 : 19-12-21 栏目 : 技术笔记 作者 : eekuang 评论 : 0 点击 : 1,166 次

一、为什么要学go

    作为一名后台开发工程师,学习golang的好处,可以列举出无数个。而我自己决定转投go的怀抱,有四个点:1.工作需要,容器相关的重量级项目基本都由go编写;2.高性能;3.丰富的组件库;4.易于测试(作为一名C++开发者,每次想测试一个模块或者函数时,真是眼泪留下来)。

二、怎么做

    依次做好如下几点,我觉得至少可以成为一个基本合格的go开发者。

2.1 系统地学习基础知识

    现在很多时候,我们都被要求快速迭代快速输出,不可能让你学习一个月之后,再开始写代码。尽管如此,我仍然认为必须通过至少一本书籍系统地学习go的基础知识。在此,我着重推荐开源书籍《GO语言圣经》,可以在电脑上看,也可以下载到kindle里碎片时间阅读。

2.2 通过IDE写代码

    古语云:君子性非异也,善假于物也。IDE可以极大提升你写代码的效率,例如自动补全和自动生成单元测试用例。同时,现在IDE集成了各种检查工具,例如检查你的常量命名问题(很多人喜欢大写+下划线命名常量,go官方推荐驼峰命名法)。此外,IDE很多也集成了debug功能,也是排障的一大利器。推荐vs code和goland,我本人使用vs code。在使用IDE的时候,还需要花一定时间研究IDE的配置及各种快捷键,要释放出其最大的威力,提升你的编码效率。

2.3 写代码并持续重构

    要成为一名合格的开发者,一定的代码量是必不可少的。写完之后,可以隔一段时间来review自己的代码,如果发现写的太烂了,就把它重构掉。持续地写,持续地重构,逐步提升自己的代码味道。

2.4 看优秀的代码并模仿

    所谓既要埋头苦干,也要抬头看路。在2.3中,我建议写代码并持续重构,但如果只是一味地闭门造车,很可能写的一手垃圾代码自己还心满意足。那么,怎么样才能看清自己的代码水平呢?最好的办法就是看好代码是什么样子,然后和自己做对比。好的代码包括两部分:1.go官方库;2.优秀的go项目。比如,我之前看到context时,觉得很感兴趣,就把context源码撸了一遍。这块代码比较简单,也很适合新手看。其次,我因为工作原因,也撸了kubernetes的源码。看到一些有意思的实践方式的时候,可以将其应用到自己的一些代码中。

2.5 测试

    永远不要相信自己的代码没有bug。而如果你坚定了这一点,就应该尽量地补全测试用例,尽量覆盖所有可测试的代码。单元测试是必不可少的,功能测试在很多情况下也是需要的。而且,每当你发现一处bug时,就应该尽量给它增加一个测试用例。而且,我建议在写代码之前,就先想好测试用例(即TDD)。

2.6 注释和测试文档

    好的代码,应该有代码即说明文档的既视感。但必要的说明文档仍然必不可少,介绍这个项目是什么,怎么用等。

2.7 不给自己留借口

    很多人说:听过很多道理,却依然写不好代码。我认为,这其中最大的问题就在于给自己找借口。因为时间太紧,所以来不及写测试用例,以后有时间再写,然后就再也没时间了。因为工作太忙,所以就不看书了,看完hello world就直接撸大型项目,然后代码就惨不忍睹了,最后可能都维护不下去。不给自己找借口,按最高的标准要求自己。

三、后记

    写这篇文章时,我其实是有点忐忑的。忐忑在于,我没有太大底气认为自己已经是一个合格的开发者。而写这篇文章的初衷,是希望能将自己这近一年的学习历程分享出来,能够与其它同学有一些碰撞,希望大家不吝指教。希望,大家未来都能成为一名合格的go开发者。Let’s Go!

anyShare分享到:

除非注明,文章均为( eekuang )原创,转载请保留链接: http://www.14en.com/?p=178

如何成为一名合格的go开发者:等您坐沙发呢!

发表评论


-----===== 博主信息 =====-----
腾讯后台开发工程师
介绍:目前从事容器云相关开发工作,主要使用C++/go语言。


0