这个作业的要求是: https://bbs.csdn.net/topics/608215808
我提问的开源项目是:CSDN 技术社区 / skill_tree_opensource · GitCode
我的合作者是:根号负一2058的博客_CSDN博客-递归,mips领域博主
我们合作的方式:先独立探究项目,在一起讨论交流,提出自己的问题,能够通过讨论交流解决的问题便可以不再提出,剩下的问题再集中探究,最后无法解决的问题再提出。
贡献说明:
我对此项目的代码和习题树的结构比较感兴趣,因此对其进行了研究,提出的大多是关于结构方面的问题。
问题1
tree.json是这个习题集的核心,但最多只能反映到节目录的信息,对于节目录下习题是否存在,具体的信息是无法得知的,整个文件目录下,要想得到习题的存在与否的信息,必须要深入到习题文件去查看,是否可以优化显示信息的方式(比如增加一个Boolean型信息显示习题是否存在)为后续的可视化以及索引提供更方便的信息。(如不存在习题的就直接跳过,存在习题的再进入文件提取习题信息)。
问题2
接着上一问,目前的项目是一个习题树的类型,未来是否会配套一个可视化的界面,以闯关或者其他的形式让用户能够在答题过程中了解开源的各种知识。
例如Git小游戏Learn Git Branching。
问题3
该项目对于同一个只是节点下,是否可以存在多个题目,对于这个问题,我也先在本地实验了一下,运行没有问题,但经过粗浅的研究,感觉习题的信息只能在文件夹中查看,tree.json和各级的config.json都无法反映,因此不能确定是否能支持同个节点下多个习题的存在。
问题4
可以发现在config.json中存在三个keywords有关的信息,可以自己填写,分别是keywords,keywords_must,keywords_forbid这三个参数分别是什么含义,具体到项目中,能起到什么样的作用。
问题5
可以看到项目是以树的形式,以难易程度为标准区分题目内容,如果考虑将项目做成答题类型的形式,对于简单的难易程度区分的类型,是否显得有点单一,是否可以增加更多的链接类型,将各种题目连接起来,比如题目所涉及的领域(理论、实践)等。