这个作业的要求是: https://bbs.csdn.net/topics/608215808
问题1
克隆项目到本地后,我根据README.md的说明尝试理解代码,在data/1.开源软件开发初阶/1.开源软件背景知识/2.开源软件的发展历史和现状中创建了test.md,编辑内容后,执行python main.py,成功在对应目录生成了test.json。
但在tree.json文件中,相应节点的children为空,并没有我刚才生成的习题节点的信息。
那么在这个合并的技能树中我该如何去访问创建的习题节点呢?
问题2
继续阅读代码后,我发现习题节点的父节点的config.json中比其他节点的config.json多了
"subtree": ""
这个数据的含义是什么?只代表这是含有习题节点的技能树的子树?
另外各节点中的keywords_must、keywords_forbid有什么用途?
问题3
整体看来这个项目仅仅用来在一个树状的数据结构中增加习题来丰富技能树,而不可以用来练习已经添加的习题。那么这个项目生成的技能树该如何让普通用户使用?后续是否会做可视化的工作让这个项目不仅可以添加习题,还能够练习、复习项目中的习题?
问题4
这个项目中的习题内容都是存储在.md文件中,看起来可能应该是以选择题和填空题为主,但我认为开源软件开发实践大于理论,我想请问项目的发起者这个项目还会有其他新的功能出现吗,或者说仅仅停留在一个理论知识的总结对于想了解并加入到开源软件开发中的我们来说有多少价值?
问题5
开源软件开发相关的知识和历史较为繁琐,把他们整合到一起可以让初学者更系统的了解开源软件开发这个领域,即我认为这个项目的优点即在于其是“系统的”,但又因为其本身是一个开源项目,而且目前里面几乎没有成数量的习题,如果需要开源软件开发者来贡献各个部分的习题,是否还能保证习题难度的连贯性和风格的统一性?如果只是零碎的收集一些问题是否仍会使这棵开源知识树变得十分碎片化?