组件开发流程
为了让大家都能尽快参与到 kissy 的开发中来,下面总结一下组件开发流程:
1. 当你看到某些重复代码而导致胃里不舒服,抑或想到某个好点子,想整理开发成一个通用组件时,请继续往下看。
2. 首先给组件取一个名字,取名很重要,尽量做到见名知意。
3. 在 kissy-sandbox 项目下用取好的名字新建目录,这就是你接下来要辛苦耕耘的地方。
4. 调研同类组件,整理成文档,分析列举出各种同类组件的优劣。
5. 在调研文档的基础上,进一步总结和梳理,确定好组件的 public api.
上面 5 步非常重要,以至于没做好之前,建议不要写任何代码。
6. 将调研文档通过 all@kissyui.com 告诉整个团队,团队会就你的调研和 public api 给出建议,甚至会召
开会议来讨论。
7. 讨论确定好功能和 public api 后,开始写代码。建议的文件列表:
filename.js
filename.css
test.html
build.properties
build.xml
8. 写代码时,建议从 test.html 开始,测试驱动能帮助我们写出更健壮的代码。
9. 完成后,赶紧发邮件到 all@kissyui.com, 让大家都和你一块高兴,分享喜悦,同时让大家帮你 review code.
10. code review + 修改后(一般要经过几个轮回),就可以根据组件本身的通用性,决定放入 kissy-gallery
或 kissy 的 src 目录正式发布了。
啰啰嗦嗦,希望大家认可这种开发方式,或者提出更好的方式。最后总结下:
第一阶段(预研):想法 -> 取名 -> 建目录 -> 调研 -> 讨论
第二阶段(开发):写代码 -> 测试驱动 -> review -> 重构 -> 正式发布
请大家尽量遵循以上流程来开发组件。
对组件的要求:
1. 功能上,遵循8/2原则,用 20% 的代码,开发出 80% 的常用功能即可
2. 代码上,精简小巧,越小越好
3. 扩展上,适度灵活,提供扩展接口,让用户可以通过扩展,完成不常用的 20% 功能
调研的目的是:
1. 确定市面上同类组件都有哪些功能,列表出来
2. 分析同类组件的优势和不足,比较 public api
3. 确定组件要实现的功能
调研结束后,就能确定好 what to do
接下来,解决 how to do, 然后 do it