为什么使用GO

读书笔记:构建基于Go的云原生Web应用和微服务(美)凯文.霍夫曼

当所构建的一切都已相当复杂时,绝对没有必要再为工作引入额外的复杂性流程。

质疑所有的代码。如果代码过于复杂甚至无法阅读,请替换造成这个复杂性的编程语言或框架。如果在代码背后有很多隐藏的戏法。无法辨别何时何地会发生,请修改代码。

简单性原则

1、IDE是否可选。(如果代码必须用特定的IDE才能生成或编译,那就没有遵循简单性原则)

2、能否通过命令行构建和部署

3、团队新成员能否快速理解代码

 

测试的重要性

对系统的信心时不断积累起来的,它始于最小的可测试单元,从类到库不断积累信心,没有测试就没有信心。我们应该采用测试驱动开发,测试所构建每个服务的内容,建立对服务的信心。

尽早发布,频繁发布

有些公司按照发布世界一流活动的标准制定发布规范。投入更多的资源,有时甚至推迟发布,降低发布频率。

克服发布恐惧的正确方式时更频繁的发布。

要使得每个开发人员都坚信,提交的代码在几天之内就到达生产系统。培养纪律性和严格性,开发会更谨慎的测试代码,开发速度会降低。

自动化

流程中任何时常重复的部分,如果不能被按钮或者脚本代替,那么就属于过于复杂、脆弱的部分。

只有拥抱自动化,并可以自动将代码提交到云端,才能真正开始从云端开发中受益,并构建单一的微服务扩展到构建微服务生态系统。

建立服务生态系统

在单体式应用程序中,系统的每个功能性需求都在庞大的结果中,违背了云的基本原则:简单、易于自动化和易于发布。

微服务遵循了单一责任原则。即一个服务只负责一个功能。

云的优势在于,我们无需构建巨型的、单体应用程序。取而代之的是构建可以共存的服务。

 

 

为什么使用GO

作为构建云端应用程序的首选语言:简单、开源、易于自动化

简单

可以传递ANSI C的简化变量。

避免了不必要的复杂性、额外流程和一些令人讨厌的步骤。

直接生成本地二进制文件,提高了性能。

当克服了GO不支持类、纯函数式编程的最初恐惧,大家一定会重新爱上编程。

开源

不仅是开源语言,而且有社区的支持,通过Github共享开源模块是Go语言及其核心工具的首要理念。

易于自动化和IDE自由化

从编译、执行测试到静态分析,都可以通过一个简单的命令来完成。

可以自由选择文本编辑器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值