在前面几篇文章里,我们聊了如何配好编译器、选好设备,也学会了怎么提出一个好问题。不过光有这些还不够——当你真正开始写代码,很快就会发现两个新的麻烦:代码越写越多,该怎么保存和同步?电脑上装了好几种语言,版本乱成一团该怎么管?这篇文章就来填这两个坑,顺便教你怎么用学生身份"白嫖"一堆正版工具。

代码管理

写代码时,尤其是多人协作的情况下,如何存储和同步代码是非常重要的事。现在业界普遍使用 git 做版本控制:它既能帮你记录每一次改动、随时回退到过去的版本,也能让你和他人在同一个项目里各写各的、最后再合并到一起。

如果你还没装 git,安装教程可以参考安装 Git

理解 git,关键是先弄清几个核心概念:

  • 仓库(Repository):一个被 git 跟踪的文件夹,里面所有文件的改动都会被记录。
  • 工作区 / 暂存区 / 版本库:你正在编辑的是工作区;git add 会把改动放进暂存区;git commit 才会把暂存区的内容正式存进版本库。
  • 分支(Branch):一条独立的开发线。默认分支通常叫 mainmaster,你可以开新分支做实验,没问题再合并回去。
  • 远程仓库(Remote):放在服务器上的仓库(比如 GitHub、GitLab),用来备份和协作。clone 是下载远程仓库,push 是上传本地改动,pull 是把远程改动拉下来。

常用操作指令可以参考我整理的另一篇:Git 常用命令

环境管理

写代码久了你会发现,同一门语言往往有多个版本:比如项目 A 要用 Python 3.8,项目 B 要用 Python 3.12;或者今天想试试 Go 的最新版,明天又得切回旧版。如果每个版本都手动下载、来回改环境变量,迟早会疯。这时候就需要"版本管理器"——它们能让你在同一台电脑上轻松安装、切换不同语言版本。

下面按语言分别推荐:

  • Java → SDKMAN :一站式管理 Java 以及各种 JVM 语言(Kotlin、Scala 等)的 SDK,切换版本非常方便。
  • Python → Miniconda :不仅能管理 Python 版本,还能用"虚拟环境"把不同项目的依赖完全隔离,避免互相污染。国内可以用清华源 下载。
  • Go → voidint/g :轻量的 Go 版本管理工具,一条命令就能安装和切换 Go 版本。
  • Node.js → nnvm :两个都是开源的 node 版本管理工具,个人用起来区别不是太大。

Vibe Coding

手敲代码的古法编程已经是过去式,现在 vibe coding 的时代,下面是一些市面上主流的 vibe coding 模型和工具。

模型,使用的模型,决定产出的核心因素:

  • Claude :分为 Haiku、Sonnet、Opus 三个档次,Opus 始终是全球最强模型,行业标杆,当然价格也是遥遥领先,同时由于 A\ 胡乱封号,一般都是用国内的中转站比较划算。
  • ChatGPT :gpt 系列的模型在写代码方面上,笔者体验一直都不是太好,感觉是越来越回去了。
  • GLM :代码能力尚可,在处理一些常规任务上表现不错,但是没有多模态所以写前端效果不太好。
  • Kimi :K3 之前一直都比较差,K3 貌似有不错突破。
  • DeepSeek :代码能力一直不算很强,但是写文章能力不错,写出来文章的流畅度和用词都比 Claude 好很多。而且最重要的是,DeepSeek 价格最便宜,20块钱都能用很久。

工具,模型之上套壳的东西(也就是所谓的 harness),不同工具之间其实差距不大,毕竟功能都是互相抄来抄去的,提示词以及其他记忆管理等方面的优化只能算是模型的锦上添花:

  • Claude Code :第一个终端代码工具,尽管 Anthropic 公司坏事做尽,但这个 Claude Code 不得不承认算是一个划时代的发展。
  • CursorCodexCopilotOpenCode 等等。

白嫖指南

  • GitHub Student Developer Pack :认证学生身份后,可以领取一整套开发者福利,包括 GitHub Copilot(虽然现在优惠削减了很多)、JetBrains 全家桶教育优惠等。申请时不要科学上网,会校验 ip 地址。
  • JetBrains 学生认证 :IntelliJ IDEA、PyCharm、CLion 等"全家桶"对在校学生完全免费,只要用学校邮箱或学生证通过认证,就能用上和付费版一样的功能。可以用学生邮箱、学信网申请。
  • Github :善用 GitHub 寻找开源工具,有帮助的别忘了点个 star。