这个作业的要求是: https://bbs.csdn.net/topics/608215808
在将该项目克隆到本地并按照项目中的说明进行测试运行后,我对该项目产生了如下的五个问题:
一、该项目目前的工作方式是否略显繁琐?(实战型问题)
根据项目相关说明,用户在技能树中建立新的章、节、知识点内容时需要按照层次依次建立相关的文件夹并运行根目录下的main.py来创建各层级所必要的配置文件config.json。然而在实际使用时,如此的信息添加方式可能对于新增知识点数量较少时的情景影响较小,但当用户需要在短时间内导入大量不同难度、不同章节的知识点时,该项目耗时长、操作繁琐的不便之处就显现出来了。请问目前是否有在寻找解决该问题的方案?
二、是否可以对该项目的输入输出进行规范?(实战型问题)
根据项目相关说明可以发现,目前用户在使用该项目时并没有常规意义上的“输入”操作,而是允许用户直接对文件结构进行修改。因此,在保证项目基本功能实现完毕的前提下,是否可以设计出一个交互界面或是使用已有的命令行,利用make命令以及mkdir等与文件操作相关的命令允许用户直接输入指令或是在指定文件夹下输入控制文件(包含控制指令的文件)控制技能树的构建,并在指定文件夹下输出所生成的.json结果文件供用户读取?如此利用命令控制输入输出的规范化亦有望同时解决前述问题一。
三、允许用户直接修改文件结构是否涉及到安全问题?(前瞻型问题)
当项目投入实际使用时,如果仍采用此种方式进行技能树知识点的修改,一方面可能导致练习题答案直接泄露或是上传练习题的作者信息被修改后冒名顶替;另一方面则是黑客可能会直接利用此途径进行拖库或删库操作,对使用该项目的网站造成直接影响。请问项目开发人员该如何帮助用户避免此类问题的产生?
四、各条目的展示方式(展示顺序)如何适应用户可能的多种排序方式的需求?(前瞻型问题)
当项目投入实际使用时,如果仍采用在文件夹名称前标出序号来规定条目展示时的顺序的方法,则一方面会在技能树的文件数目庞大时直接影响到用户添加新知识点的操作效率;另一方面会“写死”条目的展示顺序,导致当用户希望按名称、习题作者id等其他方式排序后展示条目时难以实现或无法实现。是否有方法能够兼顾到默认的展示顺序和用户自定义的展示顺序?
五、作为项目参与者具体该如何参与到该项目中去?(社区型问题)
目前该项目已实现了基本的功能,在此之后的参与者除了为该项目添加新的练习题以及测试项目之外,该如何与该项目最初的发起者交流意见,并确定应该负责的具体部分?