KOCA贡献源码-开发者手册


贡献内容

代码:
高质量、有良好文档的代码

其他:
文档、解决方案、优化建议


联系我们

服务号:


论坛:优化建议 - KOCA开发者论坛
官网:http://koca.szkingdom.com/
如果在开发中遇到任何问题可以在(求助问答 - KOCA开发者论坛)这里提问
如果对KOCA有优化建议可以在(优化建议 - KOCA开发者论坛)这里提Issues
如果有好的技术解决方案可以在(解决方案 - KOCA开发者论坛)这里编写
如果想贡献组件代码和文档可以在(KOCA开源贡献 - KOCA开发者论坛)这里认领Issues

贡献流程图如下

贡献要求

  • 【强制】 可维护性,保证代码异味清0
  • 【强制】 可测性,保证单元测试覆盖率80%
  • 【强制】 可读性,一个API必须具有JavaDoc,一些非常重要的方法也必须有JavaDoc。
  • 【建议】P2及以上职级进行代码贡献,P2以下对文档进行贡献

贡献代码

贡献代码须知

请贡献代码时候,请先确认和检查以下内容:
阅读KOCA代码规约 ,并根据指引设置IDE的checkStyle及校验插件
如果变化不大,请编写一些覆盖新功能的单元测试。
如果你正在引入一个全新的特性或API,那么请先联系我们,并在基本设计上达成共识,再开始投入

贡献文档

贡献文档须知

请贡献文档时候,请先确认和检查以下内容:

贡献流程

这是贡献者的大致工作流程

  • 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 此处答疑他人问题,也可以记录自己使用时的问题及解决方案