跳转至

评分标准

共50分,其中实验功能40分,代码规范5分,实验报告5分。

实验的两个时间节点:

  1. 爬虫和Web系统设计的功能实现,在7月7日(周一)由助教线下验收。(验收形式后续通知)
  2. 数据分析结果(可以写数据分析报告或者写在实验报告内)、实验报告以及所有源代码,在 7月7日(周一)晚上23:59 在网络学堂截止提交。
  3. 作业原则上不接受补交。需要有足够的原因(如医学证明)才能接受补交,且每人仅有一次补交机会。

实验功能

  • 爬虫(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 + bprint(a, b));
  • 保持前后风格一致,如统一的缩进风格和空行数量。

变量、函数、类的命名应符合下列标准:

  • 变量、函数使用小写字母和下划线(snake_case),类名使用首字母大写的单词(CamelCase),常量用全大写字母和下划线;
  • 尽量使用有意义的英文单词命名,避免中文、拼音及无意义短名(如 a, b, c 等);
  • 尽量用英文单词,而不是中文拼音首字母;
  • 命名应与实际用途及上下文相关联;
  • 遵循 PEP8 命名推荐

对于较复杂的项目,不应将所有代码写在同一文件中:

为实现上述规范,可利用以下自动化工具:

  • 大多数现代编辑器(如 VSCode、PyCharm 等)都集成了格式化与静态检查工具
  • 可以使用 [black] 进行代码自动格式化:
  • 命令行用法:black .
  • 编辑器用法:在 VSCode 或 PyCharm 设置中启用 black,保存文件时会自动格式化。
  • 可以使用 [pylint] 或 [flake8] 进行代码静态检查:
  • 命令行用法:pylint your_code.pyflake8 your_code.py
  • 编辑器用法:在编辑器安装相关插件或启用检查功能,保存或编辑时自动显示代码警告和建议。
作者:xujz18 (13.76%), Rishubi (8.26%), lambda (9.17%), lyj (68.81%)