云原生开发基础
开发语言选哪种
- Java
- 优点:跨平台能力强,运行稳定,安全性高,生态系统完善。适合企业级用开发。
- 缺点:代码量较大,开发速度慢,部署复杂(jre、jdk),资源消耗大
- Python
- 优点:易学易用,代码简洁,生态系统丰富,适合快速开发。自动化测试、脚本、科学计算、数据分析适用。
- 缺点:性能较低,不适合处理大型数据和高并发场景
- Go
- 优点:性能卓越,支持高并发,内存管理自动化,适合云原生领域(CNCF上90%以上都是Go开发的)。gRPC作为微服务间通信机制越来越流行,Go对于gRPC支持性很好。区块链、加密货币等应用基本都是go开发的。
- 缺点:年轻,生态系统较小
- PHP
- 优点:易于学习,开发速度快,社区活跃,适用于Web开发
- 缺点:性能较低,架构设计欠缺,不适合大型项目
云原生首选
Go 是云原生领域的首选语言,==CNCF 上 90% 以上的项目==都是用 Go 开发的(如 Kubernetes、Docker、etcd 等)。
解释型和编译型语言
- 编译型:将源代码通过编译器转化为一个可运行的包(机器码、二进制),然后在计算机上直接执行。因为机器码是计算机直接认识的,所以运行速度比解释型语言更快。跨平台比较好。
- 解释型:不需要编译成机器码,不用构建成二进制包。而是由解释器逐行解释执行程序代码。解释器需要动态翻译代码,所以运行速度比解释型语言慢一些,但开发效率高,更加易于调试和修改(某一行报错了直接就定位到了)。
强类型语言和弱类型语言
- 强一致性:声明变量需要指定变量数据类型
- 弱一致性:声明变量不需要指定变量数据类型
最佳实践
变量命名规范
- 使用有意义的名称
- 变量名小写字母开头,多个单词下划线分割 或 者驼峰命名,选一种用
- 避免使用保留关键字
函数命名规范
- 描述函数功能的有意义名称
- 小写字母开头,而且用驼峰命名
- 如果函数返回布尔值,函数名前面加上
is,has,can等前缀。比如isValid - 如果函数是一个事件处理程序,通常用
on开头,比如onClick - 如果函数需要被别处访问,推荐以==大写字母==开头
注释
- 详细一些
相关笔记: go-基础-01-环境配置-基础 | go-面向对象 | go-web开发