云原生开发基础

开发语言选哪种

  • Java
    • 优点:跨平台能力强,运行稳定,安全性高,生态系统完善。适合企业级用开发。
    • 缺点:代码量较大,开发速度慢,部署复杂(jre、jdk),资源消耗大
  • Python
    • 优点:易学易用,代码简洁,生态系统丰富,适合快速开发。自动化测试、脚本、科学计算、数据分析适用。
    • 缺点:性能较低,不适合处理大型数据和高并发场景
  • Go
    • 优点:性能卓越,支持高并发,内存管理自动化,适合云原生领域(CNCF上90%以上都是Go开发的)。gRPC作为微服务间通信机制越来越流行,Go对于gRPC支持性很好。区块链、加密货币等应用基本都是go开发的。
    • 缺点:年轻,生态系统较小
  • PHP
    • 优点:易于学习,开发速度快,社区活跃,适用于Web开发
    • 缺点:性能较低,架构设计欠缺,不适合大型项目

云原生首选

Go 是云原生领域的首选语言,==CNCF 上 90% 以上的项目==都是用 Go 开发的(如 Kubernetes、Docker、etcd 等)。


解释型和编译型语言

  • 编译型:将源代码通过编译器转化为一个可运行的包(机器码、二进制),然后在计算机上直接执行。因为机器码是计算机直接认识的,所以运行速度比解释型语言更快。跨平台比较好。
  • 解释型:不需要编译成机器码,不用构建成二进制包。而是由解释器逐行解释执行程序代码。解释器需要动态翻译代码,所以运行速度比解释型语言慢一些,但开发效率高,更加易于调试和修改(某一行报错了直接就定位到了)。

强类型语言和弱类型语言

  • 强一致性:声明变量需要指定变量数据类型
  • 弱一致性:声明变量不需要指定变量数据类型

最佳实践

变量命名规范

  • 使用有意义的名称
  • 变量名小写字母开头,多个单词下划线分割 或 者驼峰命名,选一种用
  • 避免使用保留关键字

函数命名规范

  • 描述函数功能的有意义名称
  • 小写字母开头,而且用驼峰命名
  • 如果函数返回布尔值,函数名前面加上 ishascan 等前缀。比如 isValid
  • 如果函数是一个事件处理程序,通常用 on 开头,比如 onClick
  • 如果函数需要被别处访问,推荐以==大写字母==开头

注释

  • 详细一些

相关笔记: go-基础-01-环境配置-基础 | go-面向对象 | go-web开发