PlatON开发行为准则 - 草案

PlatON开发行为准则 - 草案

背景。PlatON开发者社区在全球范围内吸引了越来越多的团队,到目前为止,PlatON已经发放了一百多份资助,分发了数百万份LAT。我观察到很多优秀的开发者提出的问题,他们的解决方案可以帮助社区,但还没有得到任何曝光。这是对资源的一种浪费。

PlatON是一个开源的社区,一个公有链的生态系统,开发者社区的开放性和透明度是我们首先应该具备的。在这篇文章中,我列举了几个项目作为一个简单的提示。

与传统的软件工程级联模式相比,开源开发模式具有独特的特点。它是完全由github驱动的。

典型的开发生命周期

1.收集需求,确认需求

2.设计

3.实施和快速测试

4.发布和维护

收集需求,确认需求

对于有独立实施的自我驱动的DApps,可以跳过这一步。尽你最大的努力想出精彩的设计,你拥有并运行DApp经济,并享受它。

在这里,我更关注那些对现有PlatON用户影响很大的项目,这一步非常重要,我们建议

1.建立一个 discord 对话频道,以便及时问答,这将有助于你了解需求,获得有效的反馈,并与专家进行深入讨论

2.确定环境需求,建立适当的测试环境,避免失之毫厘谬以以千里

3.从github上分叉出合适的项目分支,名字你说了算;) 在网上公开记录,启动项目

设计

1.在论坛上发布热点话题并进行辩论

  1. 通过github在网上发布文档,以获得社区反馈,因为总是有聪明人提出很好的意见,我们可以继续改进。

实施和快速测试

这一部分更多的是针对开发者,我们应该遵循开源的github开发步骤。比如说

1.假设团队已经选择了合适的项目,合适的分支作为基础。PlatON一般以 develop 分支作为分叉基础。

下面是一个例子:GitHub - PlatONnetwork/browser-server at develop

2.请github管理员在适当的项目下创建你的工作分支,你来命名;)

例子:管理员在上述开发分支的基础上创建:GitHub - PlatONnetwork/browser-server at feature-rich

3.你的团队中的每个开发人员都把这个项目分叉到自己的github上,进入开发模式

a) 点击右上角的 "star“

b) 点击 “fork”,将其分叉。

c) 使用下面的Linux命令,使源代码在本地保持同步


> git clone git@github.com:<your-githubid>/browser-server.git
> cd browser-server
> git add remote forkfrom git@github.com:PlatONnetwork/browser-server.git
> git fetch
> git branch -v -a

到此为止,你的本地工作文件夹里应该有所有的分支了。

如果你过早地分叉了,而没有这个新的工作分支,那么就按以下方法补上吧


> git checkout feature-rich
> git merge forkfrom/feature-rich
> git push origin feature-rich

d) 切换到目标分支(这里是feature-rich分支),通过与develop分支合并获得最新信息


> git checkout feature-rich
> git fetch develop
> git merge forkfrom/develop

e) 添加任务、问题,分配给合适的开发人员,进行工作

f) 一旦任务完成或问题解决,提交到个人github仓库,测试一下


> git add ...
> git commit ...
> git push ...

同时记录本地测试中发现的问题,分解并在github上记录任务,并注明受让人

g) 提交PR并要求合并到合适的分支


> 从github网站上提交PR,要求管理员将新功能合并到forkfrom/feature-rich上

由管理员发布和维护

1.合并到一个测试分支(例如:feature-platon-1.1.5)。

2.完成从前到后的测试,将反馈或问题反馈给开发人员

3.合并到开发分支中,以便发布。

注:本文根据 Community Development code of conduct - draft 编辑生成

5 Likes

好久不见 曲总 :smiling_face_with_tear:

1 Like

续条尾巴

  1. 当前工作全部结束时,一般删掉 working branch
  2. 如果工作继续,则需要更新本地 working branch
> git fetch forkfrom
> git merge forkfrom/develop
> git merge forkfrom/feature-rich

(下面是两条我比较常用的状态确认命令)
> git status
> git log --all --decorate --oneline --graph


完美 commit

A perfect commit must be right changes with specific & meaningful descriptions.

  • here right changes from developers are efficient codes with clear comments, logically correct.
  • specific & meaningful descriptions refer to the comment when you do
git commit -m "write specific & meaningful descriptions here"

DON’T: please do NOT commit unrelated changes in one “git add” and “git commit”. You will find it is difficult to explain what was the change. And others may get lost when do the code review and merge

Useful command, use below command to break down multiple changes to meaningful unit

 git add -p <fileName>

Hello JamesQU, your project has been others say bad, is this why?

Be open, avoid hard work behind.
Welcome all comments, good and bad. As long as developers improve.

Don’t you care about these bad discussions?

For constructive technical feedbacks, will take it seriously. If there is any, can you please name a few?