### 组件开发流程

    为了让大家都能尽快参与到 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