组件开发流程
为了让大家都能尽快参与到 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
