go 是没有宏的,同时没有泛型,所以项目中会有大量的相似代码。在以前,我是靠记忆去打开每一个相关的文件然后修改。但后来发现用正则表达式来搜索替换是一个更好的办法。

  首先不必依赖于记忆,保证每一个相关的文件中的代码都可以被修改。然后可以批量替换,但复杂的时候把每一个替换的地方都看一遍。批量替换的时候感觉心情非常愉悦,我的一小步,项目的一大步。

  但也有点不对,有些地方的变量名用的很奇葩就会导致正则表达式搜索不出来,所以统一代码风格是很重要的的。像是 go,因为用 self 或者 this 指针会报错,所以我统一用了 s,这样更加契合正则表达式,也有一定的抽象泛型的作用。