-
Notifications
You must be signed in to change notification settings - Fork 72
Jigsaw comp game 2017 FAQ
只要你拥有一个github账号就可以参赛了,还没有github账号?单击这里赶紧注册一个吧。登录github后,请给Jigsaw工程点一个星星,最好能够watch它,这样后续大赛有任何新的进展,github都会以email的形式通知你。
为了公平起见,Jigsaw开发团队的所有成员都没有参赛资格,而且后续在代码评审、讲解(我们可能会要求视频讲解)过程中发现有类似情况的,一律取消参赛资格。
无需报名,有意参赛者参考这里直接提交PR即可。
但是为了让我们更好的了解你,你可通过下面两个方式事先介绍一下你自己(这是可选的):
- 单击这里创建一个issue,标题写上
[jigsaw comp game 2017] 报名参赛
,issue的内容可以写上你或者你的团队的简介,并留下你的常用email。后续赛程相关信息,我们会通过这个email和你联系。 - 直接给
chen.xu8@zte.com.cn
发送email,标题写上[jigsaw comp game 2017] 报名参赛
,email的内容必须留下你的github账号名,其他的可选信息包括你或者你的团队的简介,或者其他人和你想告诉我们的信息。
注意:大赛只通过chen.xu8@zte.com.cn
或者chenxucc@qq.com
这2个email和你联系,请无视其他email账号的邮件,以免上当。
大赛一共设计了6个赛题,每个赛题都有对应的难度系数。详细的记分规则是这样的:
- 大赛的评委会根据参赛者的实现对赛题需求的满足度打一个基础分
- 完全满足赛题需求的,打90分;
- 参赛者如果未能完全覆盖赛题的需求的,则低于90分,具体分数由评委给出;
- 参赛者如果能够在赛题需求的基础上做出适当&合理的扩展,并且得到评委的认可,则可以有额外的加分,最多加10分;
- 参赛者在某个赛题上的最终得分算法为
基础分*赛题难度系数
,称之为综合分; - 参赛者可以同时实现多个赛题,大赛会取综合分数最高前3题的分数累加,作为参赛者的最终得分;
- 这个规则的主要目的是我们不鼓励多而滥的作品,而是少而精的作品;
提示:我们对每个赛题的难点都做了评价,其中也涵盖了实现该赛题所需的技能,参赛者可以根据自身的技能挑选难度合适的赛题,并尽可能全面的覆盖赛题的需求,这样才能够得到高分。
大赛分三个奖项:
- 一等奖1名,现金2000元,对应的正明证书等其他;
- 二等奖2名,现金1200元,对应的正明证书等其他;
- 三等奖3名,现金500元,对应的正明证书等其他;
如果你对npm比较熟悉,那一切都很简单,如果不是,则可能会有些许麻烦。但是无论如何,根据这个文档的说明操作即可。注意,不要用cnpm
来安装依赖,有坑!
参赛者通过Github标准的Fork + Pull Request的方式来提交参赛代码,要求
- PR的标题类似这样的:
[jigsaw comp game 2017] implements JigsawRate and JigsawSteps component
。 - PR的内容包含你这个PR所解决的哪些赛题的issue编号,例如
fixes #257, #257
,其他可选的信息包括:你认为对我们review这个PR的代码有帮助的信息。如果你事先未告知我们你的联系方式,则请在PR的内容中留下联系方式。注意PR中的内容是全世界公开的,因此如果你不希望公开你的联系方式,则请发送邮件给chen.xu8@zte.com.cn
,邮件中带上有的PR地址,你的联系方式。我们会严格保密。
提交代码的过程和平时你参与他人的开源工程的过程完全一样。对于这个过程不熟悉的同学,可以参考github的官方说明,或者我找了一份汉语版的说明,虽然上面的配图有点老了,不过流程基本上是一致的。
在Jigsaw的pull request页中看到你的PR,表示提交代码成功。
考虑到一些神奇的原因github会打不开,中兴内网的同学可以将代码提交到这个工程 http://gitlab.zte.com.cn/10045812/jigsaw
我们对参赛的代码有如下的要求:
- 代码格式良好,可读性高;
- 代码符合typescript开发规范,符合angular开发规范;
- 参赛者实现某个组件或者功能之后,需要有至少一个live-demo
- 这个live-demo需要体现出当前组件或者功能的最佳使用方式和使用场合;
- 这个live-demo最好能够带有一定的实际场景而非纯功能演示;
- 这个live-demo必须带有一个readme.md,用于介绍这个组件或者功能的最佳使用方式,或者最佳功能组合;如果有局限或者已知的坑,也需要详细说明;必要的话可以包含少量的原理介绍,但无需涉及过多的实现细节;
- 这个live-demo请放在
src/app/live-demo
中,参考其他的live-demo的目录结构,注意demo的url和其存放的目录名必须一致,否则CI无法通过;
- 关于自动化测试的要求:
- 需要对该组件或者功能实现对应的自动化测试用例,存放在
src/e2e
目录下,要求自动化测试用例能够覆盖该组件的所有功能点; - 提示:注意自动化测试用例需要有被测页面,而一般来说live-demo就是绝佳的被测页面,你可以编写自动化用例对live-demo做测试;
- 提示:一些live-demo无法覆盖到,但又是自动化测试所需的功能点,可以以demo的方式编写独立的被测页面,存放到
src/app/e2e-testee
中; - 单元自动化测试用例不做要求;
- 如果参赛者的PR的CI运行结果如果是红色的,则会扣除一定的分数;
- 需要对该组件或者功能实现对应的自动化测试用例,存放在
- 关于浏览器兼容性的要求:
- 参赛者实现的功能,需要能完美的兼容Chrome、FireFox、IE11等浏览器;
- Chrome、FireFox只考虑最新的前四五个版本即可,较老的版本无需考虑;IE10及以下的浏览器无需考虑;
- 提示:要注意要关注你的代码在IE11上的运行效率;
- 本次所有赛题的实现,都不要有任何第三方依赖;
我们欢迎任何有angular经验的大神来担当本次大会的评委,会有礼品相赠。有意者请将你在angular方面的相关经验简介发送给chen.xu8@zte.com.cn,我们会和你联系。