向 Pretty C 提交代码:Linux kernel 风格、make indent 与测试的完整开发者指南
向 Pretty C 提交代码:Linux kernel 风格、make indent 与测试的完整开发者指南【免费下载链接】pretty.cMaking C Look ✨Pretty✨and Lua/Lisp/Python-esque项目地址: https://gitcode.com/gh_mirrors/pr/pretty.cPretty C是一个 header-only仅头文件的 C 语言扩展库只需#include pretty.h就能为你的 C 程序带来 Lua / Lisp / Python 风格的语法糖例如string类型、fortimes循环、with资源管理和try/catch异常处理。本文是一份面向新手的Pretty C 开发者指南完整讲解如何向 Pretty C 提交代码遵循 Linux kernel 编码风格、用make indent一键格式化、通过make check测试验证直到发出你的第一份贡献。 第一步:获取 Pretty C 源码Pretty C 仓库非常小巧核心文件只有 5 个先 clone 到本地git clone https://gitcode.com/gh_mirrors/pr/pretty.c文件作用pretty.h全部语法糖宏的核心实现整个库的本体test.c测试套件覆盖比较、位运算、内存、条件、异常等宏makefile定义indent/check/clean/install四个构建目标README.org项目文档含Contributing贡献指南章节LICENSE项目许可证 由于是 header-only 设计如果只是使用Pretty C直接拷贝 pretty.h 到任意 C 目录即可但提交代码时必须基于完整仓库开发方便跑测试。 第二步:编码风格遵循 Linux kernel 规范项目的 README.org 在 Contributing 章节明确要求新增函数请遵循 Linux Kernel 官方编码风格指南。直接看 test.c 中的现有代码就能明白它长什么样void test_comparison_macros() { assert((5 eq 5) true); assert((5 eq 3) false); }新手需要记住的几个要点函数名独占一行左大括号另起一行kernel 风格的标志性写法缩进使用Tab不要用空格测试函数统一采用test_xxx()命名一个宏对应一个测试函数命名与现有代码保持一致例如类型别名用string、bytes谓词宏用even、positive等。⚡ 第三步:一键格式化,make indent 使用步骤不用手动纠结缩进细节——makefile 已经把 GNU indent 包装好了indent: test.c pretty.h -indent -linux --procnames-start-lines $^使用步骤如下先安装 GNU indent如apt install indent或brew install indent修改完代码后在项目根目录执行make indent两个参数的含义值得了解-linux按Linux kernel 风格规则自动重排缩进、括号与空格--procnames-start-lines强制函数名出现在行首正是上一条 kernel 风格要求。也就是说你只管写逻辑风格细节交给make indent。提交前跑一遍可以避免绝大多数风格问题被驳回。✅ 第四步:运行测试,make check 详解项目的测试入口是 makefile 中的check目标它会编译 test.c 并运行生成的./testmake check全部通过时会打印All tests passed successfully.。测试套件的结构非常清晰每个宏对应一个test_xxx()函数内部用assert断言且正例反例都覆盖如 test.c 中eq宏同时测了相等与不等所有测试函数统一注册在 main() 中依次调用默认编译参数为-stdc2x -lm见 makefile类型推断等新特性依赖 C23 / GCC / Clang建议用这些编译器开发。为新宏补测试的标准流程当你向 pretty.h 添加新宏时在 test.c 中新增对应的test_your_macro()函数用assert覆盖 true / false 两种分支在main()中注册该函数的调用执行make check确认输出全部通过再执行make indent统一格式即可提交。✅ 提交前检查清单:4 件事做完再 commit#检查项说明1风格新函数遵循 Linux kernel 风格函数名单独占一行2格式化已执行make indent3测试make check全部通过且为新宏补了断言用例4提交说明主题行简洁清晰说明改动动机关于第 4 点README 的 Contributing 章节额外推荐遵循一套规范化的提交信息写法建议提交前重读一遍 README.org。 附:常用 make 目标速查命令作用make indent对test.c和pretty.h执行 kernel 风格格式化make check编译并运行完整测试套件make clean删除编译产物testmake install将pretty.h安装到$(PREFIX)/include/小结向 Pretty C 提交代码的路径只有四步——写代码时照着 test.c 的 kernel 风格提交前make indent一键格式化make check验证测试最后按规范写好 commit message。仓库足够小巧一个下午就能读懂全部实现祝你顺利提交第一个 PR【免费下载链接】pretty.cMaking C Look ✨Pretty✨and Lua/Lisp/Python-esque项目地址: https://gitcode.com/gh_mirrors/pr/pretty.c创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考