提问的艺术:开源项目如何快速解决遇到的问题

一,提问之前

1.1 在通过微信群,QQ群提出技术问题前,检查你有没有做到:

1、浏览官方文档手册,试着自己找答案。

2、在FAQ(常见问题)里找答案(一份维护得好的FAQ可以包罗万象)。

3、仔细看下开源项目中readme、wiki,你还可以搜索下相关issue.。

4、环境搭建,常见报错日志等问题网上搜索——百度一下,基本能解决百分之七八十问题。

5、通过系统调试日志,IDE单步调试,抓包等方式分析一下相关流程。

二,怎样提问

2.1 由于物联网平台涉及中间件较多,请讲清楚以下几点:

  1. 项目部署环境,IDE本地调试,docker部署线上环境,做了哪些环境改动。
  2. 配置修改情况,是否默认配置,做了哪些配置改动。
  3. 代码分支,是否为主线分支,做了哪些代码改动。
  4. 提供完整日志文件,并说明报错时间点,或者行号,不要提供一段截图。
  5. 涉及设备交互的,可以尝试抓数据包,通过tcpdump或者wireshark等工具。

2.2 提问的方式:

如果要对项目有相关疑问,建议您这么做:

2.2.1 微信交流群,QQ交流群提问

微信群交流群提问模板:

案例一:环境基本描述+什么情况+做了啥尝试+提供证据
这边用最新主线的代码打包的,通过docker部署环境,修改哪块的配置/代码。
目前设备无法激活上线(什么情况),看了官网的文档,也排查了设备的联网情况(做了哪些尝试),
这个是系统完整日志&设备抓包,有相关报错日志,麻烦指导一下!(提供证据)

案例二:环境基本描述+复现操作+提供排查线索
这边用最新主线的代码打包的,通过docker部署环境,修改哪块的配置/代码。
设备正常上线激活,从设备详情进入直播模块,无法查看直播,推流目录没有推流文件(复现操作)
这个是系统完整日志&设备抓包,麻烦指导一下!(提供排查线索)

2.2.2 如果您的问题还没解决,可以提issue.

代码仓库issue提问模板:

name

about

title

labels

assignees

bug 反馈

反馈代码本身的 bug

[BUG] BUG现象描述(必填)

bug

现象描述

如何复现?

相关完整日志或现象截图或数据包

配置

各种环境信息

  • 代码提交记录(git commit hash):
  • 部署环境和方式:
  • 其他需要补充的信息:系统日志&数据包

name

about

title

labels

assignees

技术咨询

使用咨询、技术咨询等

[技术咨询] 咨询描述(必填)

技术咨询

咨询的功能模块

  • 请描述您想咨询哪部分功能

咨询的具体内容和问题

  • 此处展开您咨询内容的描述

注意事项

  • 技术咨询前请先认真阅读readme, wiki,如有必要,您也可以同时搜索已经答复的issue,如果没找到答案才在此提issue
  • 技术咨询不属于bug缺陷,要求用户先star(收藏)本项目,否则会直接关闭issue

name

about

title

labels

assignees

新增功能请求

请求新增某些新功能或新特性,或者对已有功能的改进

[功能请求] 需求描述(必填)

意见建议

描述该功能的用处,可以提供相关资料描述该功能

该功能是否用于改进项目缺陷,如果是,请描述现有缺陷

描述你期望实现该功能的方式和最终效果

2.2.3 已经定位到问题,且解决了该问题,可以提PR

代码仓库PR模板:

一、内容说明(相关的Issue)

二、变更内容

  • 2.1 关联PR列表
  • 2.2 数据库和部署说明
    1. 常规更新
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:bundle exec xxx RAILS_ENV = production;没有写 "无"
  • 2.4 其他技术优化内容(做了什么,变更了什么)
    • 重构了 xxxx 代码
    • xxxx 算法优化
  • 2.5 废弃通知(什么字段、方法弃用?)
  • 2.6 后向不兼容变更(是否有无法向后兼容的变更?)

三、研发自测点(自测哪些?冒烟用例全部自测?)

自测测试结论:

四、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)

检查点:

需求名称

是否影响xx公共模块

是否需要xx功能

需求升级是否依赖其他子产品

xxx

需要

不需要

接口测试:(必要时可以添加)

性能测试:(必要时可以添加)

并发测试:(必要时可以添加)

其他:

2.2.4 获取更及时贴心的技术支持,可以有偿加入知识星球等知识付费圈子

三,紧急问题和需求

可以通过Gitee Reward发布悬赏任务,快速贴心解决相关问题和需求。

你可能感兴趣的:(开源视频联动物联网平台,开源项目,新手参与开源)