LeetCodeRating开发者指南:贡献代码与版本更新规范

【免费下载链接】LeetCodeRating 一款对应力扣的浏览器油猴插件| TamperMonkey | Chrome 【免费下载链接】LeetCodeRating 项目地址: https://gitcode.com/gh_mirrors/le/LeetCodeRating

LeetCodeRating是一款专为力扣用户设计的浏览器油猴插件,能够显示题目对应周赛难度分,提升刷题体验。本指南将详细介绍如何为该项目贡献代码以及遵循版本更新规范,帮助开发者高效参与项目迭代。

准备工作:环境搭建与仓库克隆

在开始贡献之前,需要先搭建开发环境并获取项目代码。确保你的开发环境中安装了Git和Node.js,然后通过以下命令克隆项目仓库:

git clone https://gitcode.com/gh_mirrors/le/LeetCodeRating

项目主要目录结构如下:

  • leetcoderatingjs/:插件核心代码目录,包含SCSS样式和JavaScript逻辑
  • docs/:项目文档,包括使用说明和更新日志
  • images/:存储项目相关截图和图标资源
  • 根目录下的leetcodeRating_greasyfork.user.js是油猴脚本主文件

贡献代码:流程与规范

1. 提交Issue

在贡献代码前,建议先提交Issue描述你要解决的问题或新增的功能。这有助于与项目维护者沟通,确保你的贡献符合项目方向。可以在项目GitHub页面的Issue板块提交,清晰描述问题背景、重现步骤或功能需求。

2. 代码开发与提交

开发规范
  • 代码风格遵循项目的Prettier配置,可运行npm run format自动格式化代码
  • JavaScript代码需符合ES6+标准,确保兼容性
  • SCSS样式编写遵循BEM命名规范,避免样式冲突
提交PR
  1. main分支创建新的功能分支,命名格式建议为feature/xxxfix/xxx
  2. 完成开发后,提交代码并编写清晰的提交信息,格式为[类型]: 描述,例如[Feature]: 添加讨论区题目状态重置功能
  3. 提交PR到主仓库,PR描述需说明实现的功能、解决的问题以及测试情况

3. 代码审查与合并

项目维护者会对你的PR进行代码审查,可能会提出修改意见。请及时回应并修改,确保代码质量。审查通过后,你的代码将被合并到主分支。

版本更新:规范与步骤

LeetCodeRating采用语义化版本控制,版本号格式为主版本号.次版本号.修订号,具体更新规则如下:

版本号更新规则

  • 修订号:第三位数字,用于bug修复或小功能调整,如3.0.53.0.6
  • 次版本号:第二位数字,当第三位达到9时进位,如3.0.93.1.0
  • 主版本号:第一位数字,用于重大功能更新或架构调整,如2.4.93.0.0

LeetCodeRating版本更新示例 LeetCodeRating 3.0.6版本更新展示,新增讨论区题目状态重置功能

更新步骤

  1. 修改版本号

    • 更新leetcodeRating_greasyfork.user.js中的@version注释
    • 修改脚本中version变量的值
    • 更新version.json文件,记录新版本号和更新内容
  2. 更新日志

    • updatelog.txt顶部添加一行更新记录,格式为// @note 日期 版本号 更新描述
    • 例如:// @note 2025-07-15 3.0.6 讨论区新增重置当前页面下题目的状态按钮
  3. 提交更新

    • 提交修改到功能分支,然后创建PR
    • 合并到主分支后,项目维护者会发布新的版本到GreasyFork和脚本猫平台

功能实现案例:讨论区题目状态重置

以3.0.6版本新增的"讨论区题目状态重置"功能为例,展示完整的贡献流程:

  1. 需求分析:用户需要在讨论区快速重置题目状态,方便重新刷题
  2. 代码实现
    • 在讨论区页面添加重置按钮UI组件
    • 实现本地存储的题目状态清除逻辑
    • 添加确认弹窗,防止误操作

讨论区重置按钮 讨论区菜单中的重置按钮控制选项

  1. 测试验证:在不同浏览器和LeetCode页面进行测试,确保功能正常且无兼容性问题
  2. 文档更新:在docs/Usage.md中添加功能说明和使用截图

常见问题与解决方案

1. 本地开发环境搭建问题

问题:安装依赖时出现权限错误
解决:使用npm install --unsafe-perm或检查Node.js版本是否符合要求(建议v14+)

2. 版本号更新冲突

问题:多人同时更新版本导致冲突
解决:提交PR前先拉取最新主分支代码,解决冲突后再提交

3. 功能兼容性问题

问题:新功能在LeetCode新版UI下失效
解决:参考updatelog.txt中3.0.0版本的适配经验,使用动态选择器和事件委托确保兼容性

LeetCode新UI适配 LeetCode题库页新UI适配示例

结语

通过遵循本文档的贡献规范和版本更新流程,你可以高效地参与LeetCodeRating项目的开发。无论是修复bug还是新增功能,每一个贡献都能帮助提升插件的质量和用户体验。如果在贡献过程中遇到问题,可以加入项目QQ群(654726006)寻求帮助。

感谢所有贡献者的支持,让我们一起打造更好的LeetCode刷题工具!

【免费下载链接】LeetCodeRating 一款对应力扣的浏览器油猴插件| TamperMonkey | Chrome 【免费下载链接】LeetCodeRating 项目地址: https://gitcode.com/gh_mirrors/le/LeetCodeRating

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐