📌 项目地址mihail911/modern-software-dev-assignments | ⭐ 4,491 颗星 | 🔧 Python | 📜 未标注

项目信息

仓库地址:mihail911/modern-software-dev-assignments,4491 颗星,Python 项目,没有标注许可证。

先说清楚它是什么

这是斯坦福 CS146S「The Modern Software Developer」的作业仓库,2025 年秋季学期使用,课程官网在 themodernsoftware.dev。

一个作业仓库拿到 4491 星,看的人肯定不只是选课的学生。我觉得大部分人跟我一样,是好奇一件事:一流大学现在怎么教”写工程上站得住的 Python”?课程大纲要看官网,仓库里公开的部分是环境搭建。别失望,这几步值得细看。

四步搭环境,每一步都有讲究

README 明确说这些步骤基于 Python 3.12。

第一步,装 Anaconda。Anaconda Individual Edition 下载安装,然后新开一个终端,让 conda 进入 PATH。为什么要重开终端?因为安装脚本改的是 shell 配置文件,旧终端读不到。

第二步,建一个独立环境,版本锁死 3.12:

conda create -n cs146s python=3.12 -y
conda activate cs146s

第三步,装 Poetry:

curl -sSL https://install.python-poetry.org | python -

第四步,在激活的 Conda 环境里、回到仓库根目录,装项目依赖:

poetry install --no-interaction

四步跑完,环境就能用了。README 里没有作业内容,作业本身在课程里。

Conda 和 Poetry 叠着用,不冲突吗

第一次见这个组合的人多半会愣一下:两个工具都能管依赖,为什么装两个?

分工不一样。Conda 在这里管解释器:Python 3.12 被隔离在一个叫 cs146s 的环境里,系统里其他项目互不干扰。Poetry 管项目依赖:解析版本、生成锁文件,保证今天装的和下个月装的一致。

一个管运行时,一个管包,各干各的。这种搭配在实际团队里很常见,但对自学者来说,在一个能跑的真实仓库里看到它怎么落地,比读工具对比文章有用得多。这也是我觉得这个仓库最值得抄走的东西。

两点提醒

第一,curl | python - 这种管道执行方式是 Poetry 官方推荐的,但相当于把远端脚本直接喂给解释器。在自己电脑上无所谓,公司受限网络下,稳妥的做法是先把脚本下载下来,看一眼再运行。

第二,仓库没标许可证。照搬环境配置没问题,但想复用仓库里的内容,先确认授权。

值不值得收藏

如果你在补 Python 工程实践的课,尤其是依赖管理这块还没理顺,这个 README 四步就够你抄走一套方案。想跟完整作业的,去 themodernsoftware.dev 看课程安排。教软件工程课的老师也可以看看斯坦福怎么设计这门课。

这篇文章对你有帮助吗?

发表回复