参与开源共建,你不可不知的贡献技巧

参与开源共建,你不可不知的贡献技巧​

近期,在“战码先锋,PR征集令”活动中,上百位开发者们热情踊跃地参与了活动,以提PR的方式为OpenHarmony项目贡献自己的力量。但对于开源新手来说,刚开始接触开源项目,对项目结构和文档组织结构比较陌生,不知道如何下手。针对此类问题,我们邀请了OpenHarmony UI框架领域Committer Sun Fei分享一个不可不知的贡献技巧:从认领一个Issue开始,成为社区贡献者。

认领Issue是参与贡献较为简单的方式,尤其适用于刚参与开源项目,对贡献毫无头绪的开发者。

Issue介绍

参与开源共建,你不可不知的贡献技巧

了解Issue,可以从阅读Issue的标题开始。OpenHarmony Issue标题的普遍格式为:【系统】+【版本】+具体问题描述,读懂标题就能大致知道自己是否有兴趣来认领Issue。

开发者们还可以在自己擅长领域的相关仓库中找到Issue列表。在列表中,识别自己力所能及的问题并认领,再结合代码,一步步调试并解决问题,就能为OpenHarmony贡献力量。此处以arkui_ace_engine仓库为例,列出了一些较好解决的Issue。

参与开源共建,你不可不知的贡献技巧

认领Issue的流程

认领Issue,迈出贡献的第一步。你可以找到对应的Issue列表,选中感兴趣的Issue表单并打开详情仔细阅读。以任务#I5BE7X为例,题目为【ShowToastOptions的Bottom参数设置为Number类型时不生效,且文档和SDK不一致】,已经将问题描述的比较清楚,并将相关的系统问题截图反馈出来。

参与开源共建,你不可不知的贡献技巧

当你确认能够解决此问题时,跳转到页面最下方的对话框,输入你的想法和解决方案,点击“评论”。此时,你的评论将同步给管理员,也将得到他们的回复。如果解决方案得到管理员认可时,管理员将把Issue指派给你进行解决。

此时要做的和以往提PR贡献类似:Fork代码仓并下载到本地——修改代码——提交PR。除此之外,还需要在提交PR时与Issue关联。流程如下图所示:

参与开源共建,你不可不知的贡献技巧

在评论Issue和提交PR的同时,如果想实时掌握项目动态,可以点击仓库页面右上方的“watch”按钮。当自己关注的Issue或评论有新的反馈时,系统会及时推送消息到你的邮箱和手机。

提Issue,共建OpenHarmony开源社区

参与开源共建,你不可不知的贡献技巧

在参与开源项目的过程中,难免会遇到一些自己解决不了的问题。此时,提出Issue也相当于在为开源项目做贡献。在【战码先锋,PR征集令】活动中,现向开发者征集Issues,提交Issue数>10个的前50位开发者,即可获得战"码"先锋限量T恤一件。

代码仓范围

活动范围涵盖OpenHarmony主干仓、SIG仓、三方库,共计1000+个代码仓:

OpenHarmony 主库组织地址:

​https://gitee.com/openharmony​

OpenHarmony SIG 组织地址:

​https://gitee.com/openharmony-sig​

OpenHarmony 三方库组织地址:

​https://gitee.com/openharmony-tpc​

Issue提交流程

1. 点击仓库中间上方的“+Issue”按钮(如下图)

2. 填写标题:【OpenHarmony开源贡献者计划2022】+【系统】+【版本】+具体问题描述。

3. 选择对应Issue分类:根据问题的具体类型,在新建Issue下方的栏目框内选择对应的Issue分类。目前主要分为:任务、需求、缺陷、安全问题四个大类。

4. 然后在对话框内详细填写:任务描述、解决方案和任务来源。(优秀示例请见下图)

参与开源共建,你不可不知的贡献技巧

参与开源共建,你不可不知的贡献技巧

优秀Issue示例参考:

参与开源共建,你不可不知的贡献技巧

从认领/提交一个Issue开始,迈出贡献第一步,成为开源贡献达人。

Issue链接:

OpenHarmony 主库Issue 列表:

​https://gitee.com/organizations/openharmony/Issues​

OpenHarmony SIG Issue 列表:

​https://gitee.com/organizations/openharmony-sig/Issues​

OpenHarmony 三方库 Issue 列表:

​https://gitee.com/organizations/openharmony-tpc/Issues​

Issue任务列表

任务编号

I5BFFM

问题分类

Dialog

题目

监听横竖屏,当横竖屏状态变化时,自定义弹窗的Alignment一直不变

链接

​https://gitee.com/openharmony/arkui_ace_engine/issues/I5BFFM?from=project-issue​

任务编号

I5BE7X

问题分类

Toast

题目

ShowToastOptions的Bottom参数设置为Number类型时不生效,且文档和SDK不一致。

链接

​https://gitee.com/openharmony/arkui_ace_engine/issues/I5BE7X?from=project-issue​

任务编号

I52Y05

问题分类

Input

题目

InputType.Number类型Bug

链接

​https://gitee.com/openharmony/arkui_ace_engine/issues/I52Y05?from=project-issue​

任务编号

I52WE5

问题分类

Search

题目

【Seach组件】【RK3568】【概率-必现】Seach组件的PlaceholderFont属性的Size,Weight参数设置无法改变默认字体样式https://gitee.com/openharmony/arkui_ace_engine/issues/I52WE5?from=project-issue

链接

​https://gitee.com/openharmony/arkui_ace_engine/issues/I5BFFM?from=project-issue​

任务编号

I57XJN

问题分类

Slider

题目

Slider中设置滑块滑过的颜色(透明度较高),会透过滑块的颜色

链接

​https://gitee.com/openharmony/arkui_ace_engine/issues/I57XJN?from=project-issue​

任务编号

I59L1R

问题分类

List

题目

JS中List组件设置indexer="true"后,其内部的list-item-group不显示

链接

​https://gitee.com/openharmony/arkui_ace_engine/issues/I59L1R?from=project-issue​

任务编号

I58TWQ

问题分类

TextArea

题目

API9,JS工程FA模板,组件Textarea键盘输入内容发生改变触发Change事件获取参数内容不准确,真机一样效果

链接

​https://gitee.com/openharmony/arkui_ace_engine/issues/I58TWQ?from=project-issue​

任务编号

I5AZ02

问题分类

Wrap

题目

【Flex】【RK3568】【概率-必现】组件参数Wrap的参数值是Wrap或者WrapReverse时,不是多行排列而是超出父容器一行排列

链接

​https://gitee.com/openharmony/arkui_ace_engine/issues/I5AZ02?from=project-issue​

Git入门指导:
https://backlog.com/git-tutorial/cn/
一份给开源新手的保姆级开源百科:
https://oschina.gitee.io/opensource-guide/

参与开源共建,你不可不知的贡献技巧

发表评论

相关文章