Przeglądaj źródła

添加贡献者公约和行为准则

增加了《贡献者公约》文档以明确社区行为规范,并在相关文件中引用了该公约。同时,对README.md和CONTRIBUTING.md进行了更新,补充了项目协议与准则的相关信息。
SongZihuan 6 dni temu
rodzic
commit
b90458634b
4 zmienionych plików z 129 dodań i 23 usunięć
  1. 3 0
      CHANGELOG.md
  2. 89 0
      CODE_OF_CONDUCT.md
  3. 16 9
      CONTRIBUTING.md
  4. 21 14
      README.md

+ 3 - 0
CHANGELOG.md

@@ -12,6 +12,9 @@
 ### 修复
 
 - 调整`GitHub`的`PR`模板。
+- 添加行为准则。
+- 完善`README.md`文档。
+- 在贡献者指南中把 《Go 编码最佳实际》 列为参考。
 
 ## [0.10.0] - 2025-04-23
 

+ 89 - 0
CODE_OF_CONDUCT.md

@@ -0,0 +1,89 @@
+
+# 贡献者公约
+
+## 我们的承诺
+
+身为社区成员、贡献者和领袖,我们承诺使社区参与者不受骚扰,无论其年龄、体型、可见或不可见的缺陷、族裔、性征、性别认同和表达、经验水平、教育程度、社会与经济地位、国籍、相貌、种族、种姓、肤色、宗教信仰、性倾向或性取向如何。
+
+我们承诺以有助于建立开放、友善、多样化、包容、健康社区的方式行事和互动。
+
+## 我们的准则
+
+有助于为我们的社区创造积极环境的行为例子包括但不限于:
+
+* 表现出对他人的同情和善意
+* 尊重不同的主张、观点和感受
+* 提出和大方接受建设性意见
+* 承担责任并向受我们错误影响的人道歉
+* 注重社区共同诉求,而非个人得失
+
+不当行为例子包括:
+
+* 使用情色化的语言或图像,及性引诱或挑逗
+* 嘲弄、侮辱或诋毁性评论,以及人身或政治攻击
+* 公开或私下的骚扰行为
+* 未经他人明确许可,公布他人的私人信息,如物理或电子邮件地址
+* 其他有理由认定为违反职业操守的不当行为
+
+## 责任和权力
+
+社区领袖有责任解释和落实我们所认可的行为准则,并妥善公正地对他们认为不当、威胁、冒犯或有害的任何行为采取纠正措施。
+
+社区领导有权力和责任删除、编辑或拒绝或拒绝与本行为准则不相符的评论(comment)、提交(commits)、代码、维基(wiki)编辑、议题(issues)或其他贡献,并在适当时机知采取措施的理由。
+
+## 适用范围
+
+本行为准则适用于所有社区场合,也适用于在公共场所代表社区时的个人。
+
+代表社区的情形包括使用官方电子邮件地址、通过官方社交媒体帐户发帖或在线上或线下活动中担任指定代表。
+
+## 监督
+
+辱骂、骚扰或其他不可接受的行为可通过 [secure@song-zh.com][contact] 向负责监督的社区领袖报告。
+所有投诉都将得到及时和公平的审查和调查。
+
+所有社区领袖都有义务尊重任何事件报告者的隐私和安全。
+
+## 处理方针
+
+社区领袖将遵循下列社区处理方针来明确他们所认定违反本行为准则的行为的处理方式:
+
+### 1. 纠正
+
+**社区影响**:使用不恰当的语言或其他在社区中被认定为不符合职业道德或不受欢迎的行为。
+
+**处理意见**:由社区领袖发出非公开的书面警告,明确说明违规行为的性质,并解释举止如何不妥。或将要求公开道歉。
+
+### 2. 警告
+
+**社区影响**:单个或一系列违规行为。
+
+**处理意见**:警告并对连续性行为进行处理。在指定时间内,不得与相关人员互动,包括主动与行为准则执行者互动。这包括避免在社区场所和外部渠道中的互动。违反这些条款可能会导致临时或永久封禁。
+
+### 3. 临时封禁
+
+**社区影响**: 严重违反社区准则,包括持续的不当行为。
+
+**处理意见**: 在指定时间内,暂时禁止与社区进行任何形式的互动或公开交流。在此期间,不得与相关人员进行公开或私下互动,包括主动与行为准则执行者互动。违反这些条款可能会导致永久封禁。
+
+### 4. 永久封禁
+
+**社区影响**:行为模式表现出违反社区准则,包括持续的不当行为、骚扰个人或攻击或贬低某个类别的个体。
+
+**处理意见**:永久禁止在社区内进行任何形式的公开互动。
+
+## 参见
+
+本行为准则改编自 [Contributor Covenant][homepage] 2.1 版, 参见 [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]。
+
+社区处理方针灵感来源于 [Mozilla's code of conduct enforcement ladder][Mozilla CoC]。
+
+有关本行为准则的常见问题的答案,参见 [https://www.contributor-covenant.org/faq][FAQ]。
+其他语言翻译参见 [https://www.contributor-covenant.org/translations][translations]。
+
+[homepage]: https://www.contributor-covenant.org
+[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
+[Mozilla CoC]: https://github.com/mozilla/diversity
+[FAQ]: https://www.contributor-covenant.org/faq
+[translations]: https://www.contributor-covenant.org/translations
+[contact]: mailto://secure@song-zh.com

+ 16 - 9
CONTRIBUTING.md

@@ -2,7 +2,15 @@
 
 首先,感谢您考虑为本项目做出贡献!我们非常欢迎并珍视来自社区的每一份贡献。无论是代码提交、文档更新还是问题报告,您的参与都是对我们最大的支持。
 
-**注意:本文档内容若与[GitHub Wiki](https://github.com/SongZihuan/BackendServerTemplate/wiki/%E8%B4%A1%E7%8C%AE%E6%8C%87%E5%8D%97)冲突,则以后者为准**
+## 协议与准则
+
+本软件基于 [MIT LICENSE](/LICENSE) 发布,请务必阅读并遵守相关规定。 了解更多关于 MIT LICENSE,请 [点击此处](https://mit-license.song-zh.com) 。
+
+我们欢迎各位贡献者、赞助商等参与项目的开发等各项工作。请务必阅读并遵守我们的 [行为准则](/CODE_OF_CONDUCT.md) 。
+
+同时,欢迎各位贡献者阅读 [贡献者指南](CONTRIBUTING.md) ,有助于我们更好的交流和维护项目。
+
+若您为项目做出了任何贡献,我们将会记录在 [贡献者名单](/CONTRIBUTORS.md) 上,若有任何遗漏可以随时通过 `Issue` 与我们取得联系。
 
 ## 如何做出贡献
 
@@ -19,14 +27,13 @@
 
 **注意:本项目是模板Golang项目,不具备实际业务,因此不接受数据库系统、缓存系统、HTTP系统服务、TCP系统服务等相关功能的引入。可以参考我另一个由此项目延伸开发案的HTTP服务系统项目模板。**
 
-### 文档等修缮
+### 修改文档
 
-如果您认为文档有错误,建议您直接提交[Issue](https://github.com/SongZihuan/BackendServerTemplate/issues),工作人员查明后进行更正。
-此处的文档指:根目录下的`README.md`等文档,以及位于项目`Github Wiki`的文档。
+如果您认为文档有错误,建议您直接提交 [Issue](https://github.com/SongZihuan/BackendServerTemplate/issues) ,工作人员查明后进行更正。
 
-### 代码注释修缮
+### 修改代码注释
 
-若您认为代码中存在含糊不清的注释或缺失应有注释,你可以直接提交[Issue](https://github.com/SongZihuan/BackendServerTemplate/issues),或提交直接提交[PR](https://github.com/SongZihuan/BackendServerTemplate/pulls)。
+若您认为代码中存在含糊不清的注释或缺失应有注释,你可以直接提交 [Issue](https://github.com/SongZihuan/BackendServerTemplate/issues) ,或提交直接提交 [PR](https://github.com/SongZihuan/BackendServerTemplate/pulls) 
 
 ## 代码风格约束
 
@@ -39,6 +46,6 @@
     package xxx
     ```
 
-2. 请先阅读`Wiki`,明白各包的作用和相互依赖关系,避免造成以来混乱
-3. 本项目仅是一个模板项目,不具与实际业务
-4. 请编写合适的单元测试,并且提交`PR`后由`GitHub Action`进行测试
+2. 本项目仅是一个模板项目,不具与实际业务
+3. 请编写合适的单元测试,并且提交`PR`后由`GitHub Action`进行测试
+4. 代码风格遵守 [《Go 编码最佳实践》](https://google.github.io/styleguide/go/best-practices) 

+ 21 - 14
README.md

@@ -2,18 +2,30 @@
 
 使用 `Golang` 实现的后端服务模板程序。
 
-**注意:本文档内容若与[GitHub Wiki](https://github.com/SongZihuan/BackendServerTemplate/wiki/%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B)冲突,则以后者为准**
-
 ## 介绍
 
-本模板程序旨在实现一个 `Golang` 的后端服务,可以是 `Http` 也可以是其他。为了完成这个目的,我设计了一部分基础套件。
+本模板程序旨在实现一个 `Golang` 的后端服务,可以是 Web服务 也可以是其他。为了完成这个目的,我设计了一部分基础套件。
+
+* 内置日志系统,可分级(debug、info、warn、error、panic),支持投递到标准输出、文件、日期切割的文件、自定义输出、多输出合并。输出到控制台时可以定义字体、颜色、高亮等美化细节。输出到控制台的数据精简提炼,而把详细数据输出到文件中。
+* 内置断点标记系统,一旦遇到标记则会立马输出提示(生产环境下看将其关闭,但不用马上删掉代码中的标记),本功能有日志系统提供支持。
+* 命令行参数读取,使用`cobra`和`pflag`共同解析,支持子命令、自动生成帮助文档、命令行自动补全。支持`version`、`license`、`report`、`check`等基础命令。
+* 配置文件读取,使用`viper`解析配置文件,目前支持`yaml`和`json`两种格式。同时支持反向输出配置文件。
+* 自动重启,当配置文件发生变更时自动重启服务(完全重启整个进程)。
+* 多任务系统(多协程运行)或单任务系统,整个任务系统框架具备优雅推出机制。
+* 服务运行独占线程,某些特殊服务运行时要固定在一个线程上(而不能让 `Goroutine` 随意切换)。
+* 支持信号量程序退出机制,常用于`Linux`来实现优雅关闭。在`Windows`也能用使用,例如在控制台时`ctrl+c`会被`Golang`模拟成信号以达到跨平台目的。但通常可以在`Windows`上关闭信号量退出机制,转而使用下面的`Console`退出机制。
+* 支持`win32API`的`ConsoleAPI`,读取`Console`关闭事件,实现退出机制(执行清理任务),仅能用于`Windows`。
+* 服务注册、启动、关闭、重启、删除。主要用于Windows的服务管理,不过Linux也能使用。
+
+## 协议与准则
+
+本软件基于 [MIT LICENSE](/LICENSE) 发布,请务必阅读并遵守相关规定。 了解更多关于 MIT LICENSE,请 [点击此处](https://mit-license.song-zh.com) 。
 
-* 日志(支持投递到标准输出、文件、日期切割的文件、自定义输出、多输出合并)
-* 命令行参数(支持`string`、`bool`、`uint`、`int`)
-* 配置文件(支持`json`和`yaml`格式,也可以自定义解析器)
-* 退出信号量捕获(在`posix`系统上可以使用信号量捕获退出信号,并做清理操作。在`win32`上,命令行的`ctrl+c`也可被捕获,但当程序作为服务在后台运行时,相关停止、重启操作暂未内捕获)
-* 全局变量和资源(打包了`Version`、`License`、`Name`、`Report`等变量)
-* 服务模式(可使用控制单元启动多服务,或直接启动单服务)
+我们欢迎各位贡献者、赞助商等参与项目的开发等各项工作。请务必阅读并遵守我们的 [行为准则](/CODE_OF_CONDUCT.md) 。
+
+同时,欢迎各位贡献者阅读 [贡献者指南](CONTRIBUTING.md) ,有助于我们更好的交流和维护项目。
+
+若您为项目做出了任何贡献,我们将会记录在 [贡献者名单](/CONTRIBUTORS.md) 上,若有任何遗漏可以随时通过 `Issue` 与我们取得联系。
 
 ## 入口
 
@@ -285,8 +297,3 @@ $ catv1 restart
 ## 日后升级计划
 
 1. 单元测试
-
-## 协议
-
-本软件基于 [MIT LICENSE](/LICENSE) 发布。
-了解更多关于 MIT LICENSE,请 [点击此处](https://mit-license.song-zh.com) 。