51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

一千行以下有哪些值得学习的小型开源项目?

对于初学者来说,小型的开源项目更容易理解和学习,经常有同学问我目前有哪些值得学习的小型开源项目,代码最好不要超过千行。


那还真是有不少的。


因为问各种语言的都有,像 C、C++、Python 这些,那我尽可能的在我熟悉的编程语言里,推荐几个千行以内的优秀开源项目。


1、Kilo(7.2k+ star)


编程语言:C 语言。


这个项目的开发者 antirez 厉害了,是 Redis 的作者 Salvatore Sanfilippo。


项目是他用 C 语言编写的一个迷你编辑器,只有一个文件,阅读起来十分方便,带有常见编辑器的语法高亮、搜索等功能,


项目不依赖任何第三方库,代码写的十分简洁优雅,强烈建议学习一下大佬是如何写代码的。


传送门:https://github.com/antirez/kilo


2、Tinyhttpd(11k+ star)


编程语言:C 语言。


这个项目是一个超轻量级的 Http Server,能够帮助我们真正的理解服务器程序的本质。


项目的代码行数非常少,不到 500 行,但是代码很有内容,非常建议学习一下。


建议源码阅读顺序:main -> startup -> accept_request -> execute_cgi。


先通晓主要工作流程后再仔细把每个函数的源码看一看。


传送门:https://github.com/EZLippi/Tinyhttpd


3、sudoku(910+ star)


编程语言:C++。


这个项目是一个数独游戏,适用命令行就可以操作,简单易上手。


代码行数不多,600 多行,对刚开始做练习的同学也是没有太大压力的。


传送门:https://github.com/mayerui/sudoku


4、dash(20.6k+ star)


编程语言:Python。


这个项目厉害了,目前是 Python 社区数据可视化的主要工具之一,使用简单,易于扩展。


真的是只用几百行 Python 代码就可以轻松实现数据可视化。



传送门:https://github.com/plotly/dash


5、Python-mini-projects(14.2k+ star)


编程语言:Python。


Python 作为脚本语言,能做的事情简直太多了,可以写各种的脚本来帮助我们提高效率,Python-mini-projects 就是这么一个 Python 迷你脚本合集项目。


比如给图片加个水印,想把图片批量下载下来,或者是发送电子邮件,这种需求不难,但是确很锻炼人。


脚本代码简单但是非常实用,除了上面我说的那几个,还有很多其他的像 json 转 csv 啊这种,都很实用,值得学习。


传送门:https://github.com/Python-World/python-mini-projects


6、tomato-clock(490+ star)


编程语言:Python。


番茄工作法是一种很知名的时间管理方法,简单易行。


市面上关于番茄工作法的 app 很多,我们也可以用 Python 开发一个属于自己的番茄工作法。


这个项目是用 Python 写的命令行番茄工作法定时器,不依赖其他的第三方库,代码很短,只有一百多行,值得拿来练手。



传送门:https://github.com/coolcode/tomato-clock

赞(6)
未经允许不得转载:工具盒子 » 一千行以下有哪些值得学习的小型开源项目?