一张图读懂Go的生存之道:当“面条代码”来敲门
本文永久链接 – https://tonybai.com/2025/07/16/when-spaghetti-code-knocks 大家好,我是Tony Bai。 最近,在网上看到一张关于编程语言的 Meme 图,它以一种黑色幽默的方式,精准地描绘了我们软件开发中一个永恒的敌人,以及 Go 语言那与众不同的应对之道。 ...
本文永久链接 – https://tonybai.com/2025/07/16/when-spaghetti-code-knocks 大家好,我是Tony Bai。 最近,在网上看到一张关于编程语言的 Meme 图,它以一种黑色幽默的方式,精准地描绘了我们软件开发中一个永恒的敌人,以及 Go 语言那与众不同的应对之道。 ...
Martin Fowler最新洞察:LLM 不止是“更高”的抽象,它正在改变编程的“本质”! - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...
Rob Pike的“抱怨”与Go的“解药”:直面软件膨胀的四大根源 - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...
Go项目设计的“七宗罪”?警惕那些流行的“反模式” - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...
本文永久链接 – https://tonybai.com/2024/10/19/go-crypto-package-design-deep-dive Go号称“开箱即用”,这与其标准库的丰富功能和高质量是分不开的。而在Go标准库中,crypto库(包括crypto包、crypto目录下相关包以及golang.org/x/crypto下的补充包)又是Go社区最值得称道的Go库之一。 ...
本文永久链接 – https://tonybai.com/2024/08/11/understand-functional-programming-in-go 一个孩子要尝试10次、20次才肯接受一种新的食物,我们接受一种新的范式,大概不会比这个简单。– 郭晓刚 《函数式编程思维》译者 函数式编程(Functional Programming, 简称fp)是一种编程范式,与命令式编程(Imperative Programming)、面向对象编程(OOP)、泛型编程(Generics Programming)、逻辑编程(logic Programming)等是一类的概念。 ...
本文永久链接 – https://tonybai.com/2024/08/05/formally-verify-concurrent-go-programs-using-tla-plus Writing is nature’s way of letting you know how sloppy your thinking is – Guindon 在2024年6月份举办的GopherCon Europe Berlin 2024上,一个叫Raghav Roy的印度程序员(听口音判断的)分享了Using Formal Reasoning to Build Concurrent Go Systems,介绍了如何使用形式化验证工具TLA+来验证Go并发程序的设计正确性。 ...
本文永久链接 – https://tonybai.com/2024/01/24/rust-vs-go-in-2024 本文译自《Rust vs Go in 2024》。 我可以说些什么而不让大家生气吗? Rust和Go哪个更好?你应该为下一个项目选择哪种语言,为什么?两者在性能、简单性、安全性、功能特性、规模化(scale)和并发性等方面如何比较?它们有什么共同点,又有什么根本区别?让我们通过Rust和Go的友好且公平的比较来找到答案。 ...
本文永久链接 – https://tonybai.com/2023/10/09/service-weaver-coding-in-monolithic-deploy-in-microservices 分布式应用的主流架构模式演化为微服务架构已经有些年头了。微服务、DevOps、持续交付和容器技术(k8s)是构成最初云原生概念的核心要素。它们相生相拌,共同演进,并推动了云计算全面进入云原生时代。 云原生应用普遍采用微服务架构,遗留的单体应用程序会逐步演进并拆分为多个微服务,新应用则会直接采用微服务架构进行设计与实现。微服务的好处是显而易见的: ...
本文永久链接 – https://tonybai.com/2023/09/28/dependency-injection-with-go 如果你读过Robert C. Martin的《敏捷软件开发:原则、模式与实践》(书的封皮见下图),那么你一定知道经典的SOLID设计原则中的“D”:依赖倒置原则(Dependency Inversion Principle, DIP)。 依赖倒置原则是面向对象设计中的基本原则之一,它阐述了高层模块和低层模块的依赖关系应该倒置(如下图),也就是: ...