贡献内容
代码:
高质量、有良好文档的代码
其他:
文档、解决方案、优化建议
联系我们
服务号:
论坛:优化建议 - KOCA开发者论坛
官网:http://koca.szkingdom.com/
如果在开发中遇到任何问题可以在(求助问答 - KOCA开发者论坛)这里提问
如果对KOCA有优化建议可以在(优化建议 - KOCA开发者论坛)这里提Issues
如果有好的技术解决方案可以在(解决方案 - KOCA开发者论坛)这里编写
如果想贡献组件代码和文档可以在(KOCA开源贡献 - KOCA开发者论坛)这里认领Issues
贡献流程图如下
贡献要求
- 【强制】 可维护性,保证代码异味清0
- 【强制】 可测性,保证单元测试覆盖率80%
- 【强制】 可读性,一个API必须具有JavaDoc,一些非常重要的方法也必须有JavaDoc。
- 【建议】P2及以上职级进行代码贡献,P2以下对文档进行贡献
贡献代码
贡献代码须知
请贡献代码时候,请先确认和检查以下内容:
阅读KOCA代码规约 ,并根据指引设置IDE的checkStyle及校验插件。
如果变化不大,请编写一些覆盖新功能的单元测试。
如果你正在引入一个全新的特性或API,那么请先联系我们,并在基本设计上达成共识,再开始投入
贡献文档
贡献文档须知
请贡献文档时候,请先确认和检查以下内容:
- 已确认过文档确实有误或存在缺失。
- 熟悉Markdown
- 能够根据KOCA文档规范 的引导完成本地调试
- 如果组件文档,必须包含如下几块
可参考文档:人员管理模块 | 金证开发者社区
贡献流程
这是贡献者的大致工作流程
-
1、提Issues或认领Issues,Issues可以是bug或可优化的点,也可以是通用技术组件或通用业务组件等。提Issue可参考:KOCA开源贡献-如何提Issues示例
注意:提Issue版块(论坛->优化建议)
说明:提Issue时要严格按照帖子模板进行编写,问题采用文字和图片的形式,描述清楚,对描述不清楚的Issue可能不会被开发者进行功能开发
Issue提问模板:
-
2、在认领Issues处进行发帖,帖子必须关联相应的Issues,认领Issues可参考 KOCA开源贡献-如何认领Issues示例
注意:认领Issue版块(论坛-> KOCA开源贡献)
说明:认领Issues必须关联1中的Issues,同时需要按照认领Issues模板进行编写,尽量详细
然后点击关注
-
3、认领Issues后KOCA管理员会主动在此帖进行回复,对认领的Issues进行一个简单的讨论,对方案的合理性进行评估
-
4、评估通过后,fork当前项目的gitlab库
1、例如访问gitlab koca-open-source仓库(http://10.202.63.20:8090/gitlab-instance-7661b796/koca-open-source.git),并点击fork
2、点击fork之后,自己gitlab仓库下面会多出一个项目
-
5、克隆fork的koca-open-source代码仓库到您本地
git clone ${your fork koca repo address} 如:http://10.202.63.20:8090/kocadevelop/koca-open-source.git cd koca-open-source
-
6、添加koca-open-source仓库为upstream仓库
git remote add upstream http://10.202.63.20:8090/gitlab-instance-7661b796/koca-open-source.git git remote -v origin http://10.202.63.20:8090/kocadevelop/koca-open-source.git (fetch) origin http://10.202.63.20:8090/kocadevelop/koca-open-source.git (push) upstream http://10.202.63.20:8090/gitlab-instance-7661b796/koca-open-source.git (fetch) upstream http://10.202.63.20:8090/gitlab-instance-7661b796/koca-open-source.git (push) git fetch origin git fetch upstream From http://10.202.63.20:8090/gitlab-instance-7661b796/koca-open-source * [new branch] develop -> upstream/develop * [new branch] main -> upstream/main
-
7、选择一个开发的基础分支,必须是upstream/develop,并基于此创建一个新的分支
从远程仓库拉取分支到本地 git checkout -b upstream-develop upstream/develop 从本地分支创建开发分支 git checkout -b develop-issue
-
8、在本地新建的开发分支上进行各种修改
首先请保证您阅读并正确设置checkStyle及校验插件。 相关内容请阅读KOCA代码规约 。 修改时请保证该分支上的修改仅和issue相关,并尽量细化,做到一个分支只修改一件事,一个 PR只修改一件事。 同时,您的提交记录请尽量使用中文描述,参考代码提交规范(TODO)
-
9、Rebase 基础分支和开发分支
您修改的时候,可能别人的修改已经提交并被合并,此时可能会有冲突,这里请使用rebase命令进行合并解决,主要有2个好处: 1. 您的提交记录将会非常优雅,不会出现`Merge xxxx branch` 等字样 2. rebase后您分支的提交日志也是一条单链,基本不会出现各种分支交错的情况,回查时更轻松 git add git commit -m "" 下面二种方法选择一种 git fetch upstream git rebase -i upstream/develop 或者 git checkout upstream-develop git pull git checkout develop-issue git rebase -i upstream-develop
-
10、将您开发完成rebase后的分支,上传到您fork的仓库
git push origin develop-issue
-
11、按照拉取请求模板中的清单创建Pull Request
提交模版直接在认领的Issue进行绑定即可(http://koca.szkingdom.com/forum/c/25-category/25) 例如:Pull Request时直接贴认领的Issue的链接 KOCA社区将会Review您的Pull Request,并可能提出修改意见,您可以根据修改意见回到步骤 8进行修改,并使用步骤9进行重新提交。 如果您再次提交时提示您存在提交记录冲突,这是因为您修改期间,有其他的修改合并到了基 础分支,您rebase后,commit ID发生了变化,此时需要force push 到您的fork分支上即可
-
12、 如果没有问题,KOCA社区将会把您的修改合并到基础分支中,恭喜您成为KOCA的官方 贡献者。
其它贡献说明
贡献解决方案
贡献解决方案可以在 http://koca.szkingdom.com/forum/c/26-category/26 此处进行编写
求助问答
可以在 http://koca.szkingdom.com/forum/c/18-category/18 此处答疑他人问题,也可以记录自己使用时的问题及解决方案