Skip to content

Latest commit

 

History

History
88 lines (68 loc) · 4.19 KB

CONTRIBUTING.md

File metadata and controls

88 lines (68 loc) · 4.19 KB

Contributing Guide

写在开头

为更好促进gorpc框架及配套工具发展,我们欢迎所有对感兴趣的同学加入gorpc框架的体验、开发、维护中来,特别是那些愿意牺牲个人宝贵时间为框架完善作出努力的开发者。不管是提出有价值的issue、bugfix、文档完善、补充测试用例、编写demo,还是对前沿技术进行调研、提出新特性需求,都是我们乐于见到的。

当然我们更希望符合以下条件的开发者能够主动参与,分享所学所想:

  • 对golang了解深刻,热爱技术、热爱钻研
  • 知识面较广,对同类开源有研究或涉猎
  • 追求完美,对代码精益求精
  • 愿意了解掌握gorpc框架及工具源码
  • 愿意贡献自己业余时间投入框架开发,在github保持活跃

我们希望通过开源来博采众长让它变得更好,希望我们的共同努力可以让“开发”变得更好

交流方式

本项目主要使用Issue进行交流沟通。

贡献方式

我们的基本协作方式基于github展开:

  1. 提出ISSUE
  • 提ISSUE之前,请务必先搜索是否已经存在近似描述的ISSUE,如果已经存在可以在ISSUE下补充描述,请避免重复提相同ISSUE的问题;
  • 新建ISSUE的时候,请根据问题类型选择ISSUE模板,如新特性、Bug、优化建议等,并根据模板内容填写信息,方便我们高效地进行协作;
  1. 解决ISSUE
  • 首先需要Fork主仓库到自己的仓库中,并定期保持代码库更新;
  • 当准备解决一个ISSUE前请务必确认是否ISSUE是否被开发者认领,考虑到大家可能提出不同的解决方案,方案探讨可以在同一个ISSUE下进行,避免重复处理同一个问题;
  • 在决定将内容推送到本仓库时,请先拉取本仓库代码进行合并,并处理好冲突,同时确保相关文档与代码保持同步;
  • 然后再将分支PR到主仓库的master分支,其中PR需要包含以下基本信息:
    • 标题:本次PR的目的(做了什么工作,修复了什么问题);
    • 内容:如果必要的话,请给出对修复问题的描述,力求简短清晰;
  1. 项目维护人员在PR评论区进行评论,如果发现PR中有什么问题,请直接指出并尽量给出修正的方式,或者也可以直接进行修改;

  2. 提出该PR的人根据评论修正内容,然后将修改后的内容Merge到master分支中;

  3. 项目维护人员审核通过,合并PR到主仓库中;

注意事项

  • 代码提交时必须填写精炼的commit信息,遵循如下规范:
    • commit信息构成
    <type>(<scope>): <subject>
    (<BLANK LINE>)
    (<body>)
    其中<subject>是必填信息,我们建议填写<type>以及影响的<scope>。<body>部分是可选的,如果有必要的话,用来详细描述本次做的修改。<body>前应留有空行。
    
    • 可选的包括:

      • feat: 新功能
      • fix: 修补bug
      • doc: 文档
      • refactor:重构(既不是新增功能,也不是修补bug)
      • test:增加单元用例
      • style: 格式化
    • 请根据修改影响到的模块范围来确定,如:

      • client
      • server
      • connpool
      • logging
      • interceptor
      • tracing
      • metrics
      • ...
        • cli
    • <subject>:subject是commit目的的剪短描述,力求精炼,最好不超过50个字符;

    • <body>:是对commit目的的详细描述,可以分成多行;

    • 具体事例如下:

    doc(install): README增加安装指引
    
    如果本次改动内容比较大,或者需要强调一下,可以在body中详细描述:
    feat: 新增Selector、、Registry接口
    
    用于实现服务注册、发现...
    
  • 每次Pull Request应只解决一个问题,这样方便进行修改;
  • 每次Pull Request应确保已经同步过主仓库代码、解决冲突,并自己在本地测试通过;
  • 根据贡献者的活跃程度、对框架贡献熟悉程度,我们会筛选一部分开发者加入项目维护人员列表中来;

希望热爱开源并对gorpc感兴趣的同学一起加入进来,共同参与gorpc的相关建设,让“开发”变得更简单美好。