Skip to content

Latest commit

 

History

History
35 lines (19 loc) · 2.49 KB

CONTRIBUTING-cn.md

File metadata and controls

35 lines (19 loc) · 2.49 KB

我们需要哪些帮助?

首先,衷心感谢每一位愿意参加本项目的人。ui-model是一个庞大的工程,作为一种思想,它需要大量的代码和实践作为支撑。我们因此需要大量的需求场景、设计权衡、Code Review以及宣传推广方面的工作。我们发起了这个项目,但并不会把它当成“专利”或“个人荣誉”,而希望ui-model的思想在社区自由成长。

如何参与?

最简单的方式是为我们提issue,比如提出某个需求场景,或为某个场景补充一个特殊应用案例,或者给我们的实现反馈bug,我们都非常欢迎。

另外,我们非常欢迎各位参与对issue的讨论,我们的设计权衡会主要在issue中讨论(请自由使用英文或中文)。我们欢迎任何以事实为依据的意见,只要深刻、理性,哪怕尖锐一点我们也非常欢迎。

如果你希望为我们提交代码,请提交Pull Requests。我们会在审核之后继续。

如果你打算更加深度的参与,可以给我们提issue申请成为某个repository的Owner,我们提前建立了一些已知的Binding库,但不会全部由我们自己去实现。我们随时准备把它移交给有相关兴趣和能力的社区力量。

如果你是ui-model思想的热情布道者,请务必留言让我们知道。我们中国有一句俗话叫“遇高人不可交臂失之”。

如果你认同ui-model的思想,但不认同我们的设计与实现,那么请自由发布自己的库,并添加ui-model标签,以便其它人可以搜到它。我们愿意从这里链接到优秀的竞争性ui-model库。

如何开发?

我们这个实现的技术栈目前是TypeScript / Angular CLI,都已经在package.json中配置好了。

库的开发调试过程完全基于Angular CLI,但是它发布出的包并不会依赖这些,而且除了名字中含有angular字样的包之外,都不依赖任何具体的前端框架

如果使用IntelliJ / WebStorm,可以通过"Edit Configuration"来配置karma,配置文件使用./karma.conf.js,并运行测试,建议开启监控模式。

如果不使用IDE,请执行npm run test-dev命令,它将开启监控模式,src目录下任何ts文件的变化都会触发单元测试。

提交PR前请确保npm test命令和npm run lint命令通过,CI服务器上将会检查它们。

设计原则

  1. 善用TypeScript语法特性,特别是类型注解和泛型等。
  2. 测试驱动开发。
  3. 遵循官方的风格指南。