资讯动态

免费编程资源该加到 free-programming-books 的哪个清单?六类列表怎么选?

发布时间:2026/9/9 22:42:02 来源:尧图企业网站定制
免费编程资源该加到 free-programming-books 的哪个清单六类列表怎么选【免费下载链接】free-programming-books:books: Freely available programming books项目地址: https://gitcode.com/GitHub_Trending/fr/free-programming-booksfree-programming-books 仓库收录免费编程学习资料按类型拆成 6 类清单每类又按语言拆成多个.md文件。你要完成的任务是把一个免费资源书、课程、交互教程等加进正确的清单文件和章节并通过仓库的自动检查。选型依据来自 docs/CONTRIBUTING.md 中的 In a nutshell 与 Genres 章节具体操作路径是先判断资源属于 6 类中的哪一类再定位对应语言的文件最后按该文件的 Index、章节层级和字母顺序完成编辑。一、六类清单的定义与文件位置CONTRIBUTING 原文We have 6 kinds of lists. Choose the right one。各类型的定义、所在目录与英文清单的固定文件名如下语言版本文件的命名规律见 README.md 的 Resources 章节类型判定标准CONTRIBUTING 原文口径目录英文清单文件BooksPDF、HTML、ePub、gitbook.io 站点、Git 仓库等books/free-programming-books-langs.md、free-programming-books-subjects.mdCourses不是书的教材有讲义、练习、测验或教学辅助courses/free-courses-en.mdInteractive Tutorials可输入代码或命令并即时评估结果的网站evaluate 不等于 gradingmore/free-programming-interactive-tutorials-en.mdPlaygrounds可编写、编译或运行、分享代码片段的在线/桌面环境more/free-programming-playgrounds.mdPodcasts Screencasts播客与屏幕录像casts/free-podcasts-screencasts-en.mdProblem Sets Competitive Programming通过解答题目可含代码评审或互相比较检验编程能力more/problem-sets-competitive-programming.md各类型在哪些语言有清单以 README 的 Resources 章节为准命名规律书籍books/free-programming-books-语言码.md另有 free-programming-books-cs-cp.md 这样的特殊清单课程courses/free-courses-语言码.md播客/录屏casts/free-podcasts-screencasts-语言码.md交互教程more/free-programming-interactive-tutorials-语言码.mdPlaygroundsmore/free-programming-playgrounds-语言码.md。一个具体资源只进一个清单、一个文件。注意属于哪类与放在哪个语言文件是两回事一本中文的 Go 书进中文书籍清单 free-programming-books-zh.md而不是英文版。二、拿不准的类型边界怎么判以下判定标准均出自 CONTRIBUTING 的 Genres 章节按顺序过一遍自述优先The first rule in deciding which list a resource belongs in is to see how the resource describes itself. If it calls itself a book, then maybe its a book.Books vs. Courses课程通常有配套教材教材本身列入 Books、讲义、练习、测验或教学辅助A single lecture or video by itself is not a course. A PowerPoint is not a course.Interactive TutorialsIf you can print it out and retain its essence, its not an Interactive Tutorial.Books 的特征属性非必须全部满足it can depend on context有 ISBN、有目录、提供可下载版本尤其 ePub、有版次、不依赖交互内容或视频、尽量全面覆盖一个主题、自成体系。对照例子CONTRIBUTING 原文给出的MIT OCW 6.006 Introduction to AlgorithmsFall 2011 —— 被明确判定为 course进 courses 清单Try Haskell、Try Git —— 被明确判定为 interactive tutorial进 interactive tutorials 清单。三、选文件前的硬性检查不做会被拒定位目标文件之前先按 docs/CONTRIBUTING.md 的 In a nutshell 与 Guidelines 确认资源本身可收录只贡献免费内容必要时在 PR 中说明你认为它免费的原因不接受必须使用工作邮箱才能获取的链接但索取邮箱非强制的条目可以列需加(email address *requested*, not required)这类语言内说明不接受 Google Drive、Dropbox、Mega、Scribd、Issuu 等文件托管平台的链接链接选择最权威来源作者官网优于出版社官网出版社优于第三方网站同域同内容时优先https优先最短链接根域名去掉尾部斜杠http://example.com而非http://example.com/不用短链并去掉 URL 中的跟踪码不接受限时资源限时免费、限期内报名/修读的课程都不收录不收录博客、博文、文章、除大型资源站点外的普通网站、非课程/录屏的视频、书籍章节、样章试读、IRC/Telegram 频道、Slack 或邮件列表competitive programming 清单对这些排除略宽松。四、把条目加进目标文件提交方式二选一CONTRIBUTING In a nutshell不熟悉 Git 时开一个 Issue 附上链接提案熟悉 Git 则 Fork 仓库后提 PR优先原子提交一次提交只对应一次增/删/改。开始编辑前先用仓库搜索确认链接不在仓库里if you found something of interest which isnot already in this repo。然后按下面的顺序修改目标清单文件更新 Index除 cheatsheets 等少数文件外各清单文件以### Index开头列出全部章节和子章节并保持字母序。需要新章节时先加 Index 条目再加章节只在现有章节内加链接则不动 Index。定位章节并插入链接章节用三级标题###子章节用四级标题####。链接按字母序插入多个标题同首字母时依次比较后续字母one two排在onetwo之前。按格式规范写行内格式CONTRIBUTING Formatting 章节的 BAD/GOOD 对照BAD : * [Another Awesome Book] (http://example.com/book.html) GOOD: * [Another Awesome Book](http://example.com/book.html)BAD : * [A Very Awesome Book](https://example.org/book.pdf) - Jane Roe - 1970 GOOD: * [A Very Awesome Book (1970)](https://example.org/book.html) - Jane Roe具体规则]与(之间不留空格作者用-两侧各一个空格的连字符作者在前、格式在后... - Jane Roe (PDF)链接与格式标注之间恰好一个空格空行数为章节之间 2 行、标题与首条链接之间 1 行、两条链接之间 0 行、文件末尾 1 行。特殊标注仅在符合条件时加GOOD: * [Will Be An Awesome Book Soon](http://example.com/book2.html) - John Doe (HTML) *( :construction: in process)*GOOD: * [A Way-backed Interesting Book](https://web.archive.org/web/20211016123456/http://example.com/) - John Doe (HTML) *( :card_file_box: archived)*仍在撰写的书加*( :construction: in process)*通过 Wayback Machine 等恢复的链接加*( :card_file_box: archived)*选较新且完整的存档版本。同一资源有多个格式且不存在单一入口时才拆成多个链接并各注格式。免费开放许可可加许可标注只使用支持的简写CC BY、CC BY-NC、CC BY-SA、CC BY-NC-SA、CC BY-ND、CC BY-NC-ND、GFDL不带版本号位置在格式标注之后例如* [A Very Awesome Book](https://example.org/book.pdf) - Jane Roe (PDF) (CC BY-SA)不确定时改在 PR 评论里说明理由。课程若依赖平台Coursera、EdX、Udacity、Udemy 等平台名以括号列出YouTube 清单列创作者而不是列 YouTube标题不编造、不加大写全词、不加 emoji。五、验证CI 检查与 URL 校验提交 PR 后验证方式有两条线均来自 docs/CONTRIBUTING.md 的 Automation 章节与 docs/HOWTO.md1. 格式与字母序检查fpb-lint自动工作流 .github/workflows/fpb-lint.yml 在pull_request事件触发安装并运行fpb-lint books casts courses more即覆盖全部四类清单目录。CONTRIBUTING 原文提醒GitHub Actions will run tests to make sure your lists are alphabetized and formatting rules are followed. Be sure to check that your changes pass the tests.检查失败时点 Details 查看 linter 输出HOWTO 给出的处理方式是find out what the linter didnt like, and fix the problem adding a new commit to the branch from which your PR was opened若看到 misplaced link按 linter 报错信息交换相应行。拿到绿勾后 PR 进入人工审核。2. URL 校验check_urls手动触发用 awesome_bot 校验链接触发方式是在提交信息中带上check_urls文件名check_urlsfree-programming-books.md free-programming-books-en.md多个文件用单个空格分隔。注意 CONTRIBUTING 的警告检查多个文件时构建结果以最后一个文件为准可能出现整体绿灯但前面文件失败的情况必须在 PR 的 Show all checks - Details 里查看构建日志确认每个文件的结果。六、限制与容易踩的坑RTL 语言文件编辑*-ar.md、*-he.md、*-fa.md、*-ur.md时RTL/LTR linter 会检查行文中的 LTR 片段。规则是LTR 单词如 HTML、JavaScript在 RTL 文本中段落后紧跟rlm;LTR 符号如 C#、C后紧跟lrm;修复示例见 docs/CONTRIBUTING.md 的 Fixing RTL/LTR linter errors 章节本地可用 scripts/rtl_ltr_linter.py 与 scripts/rtl_ltr_linter_config.yml 对应的检查。翻译作品应署名原作者译者用 MARC relator 标注如* [A Translated Book](http://example.com/book.html) - John Doe, \trl.:Mike The Translator作者列表用逗号分隔可用et al.省略不列头衔Prof.、Dr.创作者不加链接。别把列表页当资源不收录单集视频、书籍章节、样章单个讲座不是课程。完成标准就落在 CI 上fpb-lint 检查变绿字母序与格式通过需要链接复核的清单已用check_urls触发并确认构建日志无失败随后等待 PR 审核。条目放错清单时按本文第二节重新判定类型后移到正确的语言文件再走同一轮检查即可。【免费下载链接】free-programming-books:books: Freely available programming books项目地址: https://gitcode.com/GitHub_Trending/fr/free-programming-books创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价