跳转至

协作规范

为了方便贡献者们进行协作,我们参考OI-Wiki制定了一份协作规范。所有本项目的贡献者都应当遵循该规范。

ItsWA项目与政治无关,任何关于本项目及其社区和社区成员的讨论都不得涉及政治议题。关于此类讨论,将严肃处理。

贡献者公约

我们的工作

身为社区成员,我们的工作(包括但不限于编写的代码、文档)都是ItsWA项目的一部分。我们自愿将其上传到ItsWA及其附属项目的代码存储库中,并遵循GNU通用公共许可证1,依照许可证和项目的附加条款2,保留我们的合法权利。如果必要,我将会要求我的雇主、学校签署一份版权免除声明,以避免将来可能的法律纠纷。

我们的承诺

身为社区成员、贡献者和领袖,我们承诺使社区参与者不受骚扰,无论其年龄、体型、可见或不可见的缺陷、族裔、性征、性别认同和表达、经验水平、教育程度、社会与经济地位、国籍、相貌、种族、种姓、肤色、宗教信仰、性倾向或性取向如何。

我们承诺以有助于建立开放、友善、多样化、包容、健康社区的方式行事和互动。

我们的准则

有助于为我们的社区创造积极环境的行为例子包括但不限于:

  • 表现出对他人的同情和善意
  • 尊重不同的主张、观点和感受
  • 提出和大方接受建设性意见
  • 承担责任并向受我们错误影响的人道歉
  • 注重社区共同诉求,而非个人得失

不当行为例子包括:

  • 使用情色化的语言或图像,及性引诱或挑逗
  • 嘲弄、侮辱或诋毁性评论,以及人身或政治攻击
  • 公开或私下的骚扰行为
  • 未经他人明确许可,公布他人的私人信息,如物理或电子邮件地址
  • 其他有理由认定为违反职业操守的不当行为

责任和权利

社区管理员有责任解释和落实我们所认可的行为准则,并妥善公正地对他们认为不当、威胁、冒犯或有害的任何行为采取纠正措施。

社区管理员有权力和责任删除、编辑或拒绝与本行为准则不相符的评论(comment)、提交(commits)、代码、维基(wiki)编辑、议题(issues)或其他贡献,并在适当时机知采取措施的理由。

适用范围

本行为准则适用于所有社区场合,也适用于在公共场所代表社区时的个人。

代表社区的情形包括使用官方电子邮件地址、通过官方社交媒体帐户发帖或在线上或线下活动中担任指定代表。

开发过程中的沟通

Warning

除非你是拥有直接修改主存储库权限的Core Dev,否则你的所有工作都需要在一个Feature分支(详情请见Git Flow)上完成。

新增 Feature

在开始进行一项工作之前,请先查看Issues,确保没有人在和你做同样的工作。如果发现有人已经开始了一项类似的工作,你可以考虑与他们进行沟通和协作,以免重复劳动。此外,你也可以在Issues中提出自己的建议或想法,以便得到其他人的反馈和支持。

确保你所作的工作是我们需要的之后,你需要先发起一个Issue。

然后你可以开始实施你的工作计划。在整个过程中,请保持与其他贡献者的沟通,在Issue中及时更新进度,并寻求帮助或反馈。完成工作后,请提交你的更改,并附上详细的说明和测试结果,以便我们可以进行代码审查和集成。

工作完成后,请发起一个Pull Request。然后,请确保您的请求包含了详尽的描述,说明您的更改解决了什么问题或实现了什么功能。还要确保您的代码符合项目的编码标准,并通过了项目的测试套件。

修复 Bug

在开始修复一个 Bug 之前,请先查看 Issues,确保没有其他人已经在处理相同的问题。如果已有人在处理,请考虑与他们进行沟通和协作,以便有效地解决问题。

如果该 Bug 尚未被记录在 Issues 中,请先发起一个 Issue,描述 Bug 的具体情况,并尽量提供复现步骤和环境信息,以便其他人能够理解和协助解决。

一旦确认需要修复 Bug,并且已经发起了相应的 Issue,你可以开始着手解决问题。在修复的过程中,请保持与其他贡献者的沟通,并及时更新 Issue 中的进展情况。

修复 Bug 后,请发起一个 Pull Request,确保你的 PR 可以通过所有测试项,以便确认你的修复可以工作并且不会对其他部分产生不良影响。

优化性能

Note

该类型的修改不需要事先提起Issue。

在进行优化性能工作之前,请先确定哪些部分需要优化,并评估其影响范围。可以通过性能测试、代码审查和用户反馈来确定优化的目标和方向。然后制定相应的优化策略和计划。

对于不影响本体功能的优化而言,不需要提起Issue,只需要确保优化后仍然可以通过所有的测试项即可。

优化工作完成后,发起 Pull Request,详细描述优化的内容和所涉及的代码变动。

添加文档

Note

该类型的修改不需要事先提起Issue。

良好的文档对于项目的成功至关重要。在添加新功能、修复 Bug 或进行优化工作后,应当及时更新项目文档,以反映最新的变化。这包括更新 API 文档、用户手册、技术文档等。确保文档内容清晰、准确,并易于理解和使用。

重构代码

Warning

不要重构向外部暴露的API,这可能会导致严重后果。如果你希望重构这些API,请先通过Issue与社区沟通,我们会将其排期,并在下一个次版本内进行实现!

Info

众所周知,ItsWA早期版本的变量、函数名、代码结构非常混乱,因此我们计划在每个次版本发布前都需要进行一次完整的重构,以减轻ItsWA早期版本对后续开发造成的影响。

用于重构代码,例如修改代码结构、变量名、函数名等但不修改功能逻辑,进行该项工作前,请先通过Issue与社区沟通,防止你的更改影响到其他模块。并且要确保重构后的代码可以通过完整的测试。

重构工作完成后,发起 Pull Request,详细描述优化的内容和所涉及的代码变动。


  1. GNU通用公共许可协议是一份面向软件及其他类型作品的,自由的版权共产协议。您应该可以在软件副本中找到一份许可证,如果没有,请查看GNU通用公共许可证 v3.0 - GNU工程 - 自由软件基金会。 

  2. ItsWA项目允许在获得授权的情况下修改源代码并保持闭源状态,但需要提交对于本项目的用途,而且不得获取未来可能的更新。ItsWA项目的所有者保留在征询社区意见后行使“授权”权的权利。