评分标准¶
共50分,其中实验功能40分,代码规范5分,实验报告5分。
实验的两个时间节点:
- 爬虫和Web系统设计的功能实现,在7月7日(周一)由助教线下验收。(验收形式后续通知)
- 数据分析结果(可以写数据分析报告或者写在实验报告内)、实验报告以及所有源代码,在 7月7日(周一)晚上23:59 在网络学堂截止提交。
- 作业原则上不接受补交。需要有足够的原因(如医学证明)才能接受补交,且每人仅有一次补交机会。
实验功能¶
- 爬虫(10分)
- 爬虫代码正确可运行
- 爬取数据数量满足要求
- Web系统设计(20分)
- 歌曲列表页(3分)
- 歌手列表页(3分)
- 歌曲详情页(4分)
- 歌手详情页(3分)
- 搜索和搜索结果页(3分)
- 搜索性能和网页整体效果(含美观度)(4分)
- 数据分析(10分)
- 三个结论在所爬数据下正确,通过代码、文字、图表展示进行验证
- 数据分析结论的质量:结论的意义(包括是否有创新性);结论的论证;结论的可视化效果
实验报告¶
- 介绍和展示系统功能、数据量、主要功能、使用的技术和算法等
- (可选)估计实现各个功能大致花费的时间(单位:小时),以及任何对本实验的感想或建议
- 提交为一个 PDF 文件
代码规范¶
本页面列举了一些适合 Python 开发的常见代码规范要求。
Git¶
- 每个提交都应具有具体意义,例如实现新功能、修复问题、编写新函数等;
- 对于较复杂的项目,应边开发边提交,避免将大量更改一次性提交;
- 用简明的语言描述本次提交的内容;
- 建议用英文书写,中文亦可;
- 保持信息的适度详实,不要过于简略或冗长;
- 推荐遵循 Conventional Commits 的格式;
- 内容应避免个人情绪;
- Git 用户名和邮箱应配置为真实姓名和邮箱;
- 可适当添加 Emoji,gitmoji 提供了推荐列表方便参考。
代码风格¶
保持代码简洁、清晰:
- 保持整齐的缩进,推荐使用4 个空格作为一级缩进(遵循 PEP8);
- 每行字符不应过多,建议不超过 79/88 个字符(PEP8 标准为79,black 默认 88 个字符);
- 减少硬编码和魔法数字(magic number):如多处出现
3.14
,应定义PI = 3.14
在顶部,后续均使用PI
。
在代码编写适当注释和文档:
- 复杂代码块前应对其功能、逻辑简要说明;
- 对过于简单的代码可不写注释,避免冗余;
- 所有函数/类建议编写文档字符串(docstring),描述其功能、参数类型和返回值;
- 推荐使用英文,中文亦可(但是注意要用 UTF-8 编码);
- 遵循 PEP257 Python docstring 规范。
代码应合理使用空格和空行:
- 功能分段之间增加空行,提升可读性;
- 操作符前后、逗号后等规范加空格(如
c = a + b
、print(a, b)
); - 保持前后风格一致,如统一的缩进风格和空行数量。
变量、函数、类的命名应符合下列标准:
- 变量、函数使用小写字母和下划线(snake_case),类名使用首字母大写的单词(CamelCase),常量用全大写字母和下划线;
- 尽量使用有意义的英文单词命名,避免中文、拼音及无意义短名(如
a, b, c
等); - 尽量用英文单词,而不是中文拼音首字母;
- 命名应与实际用途及上下文相关联;
- 遵循 PEP8 命名推荐。
对于较复杂的项目,不应将所有代码写在同一文件中:
- 应按功能将代码拆分到多个
.py
模块,并合理组织到包结构中; - 建议阅读 Python 官方模块和包说明。
为实现上述规范,可利用以下自动化工具:
- 大多数现代编辑器(如 VSCode、PyCharm 等)都集成了格式化与静态检查工具
- 可以使用 [
black
] 进行代码自动格式化: - 命令行用法:
black .
- 编辑器用法:在 VSCode 或 PyCharm 设置中启用 black,保存文件时会自动格式化。
- 可以使用 [
pylint
] 或 [flake8
] 进行代码静态检查: - 命令行用法:
pylint your_code.py
或flake8 your_code.py
- 编辑器用法:在编辑器安装相关插件或启用检查功能,保存或编辑时自动显示代码警告和建议。
作者: