0

很好奇, 大家平时去写一个效果的时候,是怎么从构思到编写代码的?比如写一个无限循环的轮播插件.

一般是直接抄上键盘开干, 还是有什么更好的思考构造方法? 更成熟的工作习惯呢?

查看全部 6 个回答

0
  1. 明确需求,保证组件的功能可扩展。
  2. 构建UI界面。
  3. 遵循js组件编写的基本模式。

常见的就是一个构造器,基于此的原型方法扩展。其它需要做的包括链式操作,属性默认和覆盖扩展操作。另外也包括对于组件对象的方法的set和get操作,实例化后也方便进行一些set操作进行重渲染,实现个性化更改需求。

多参考其它的jquery小组件,你可以从中学到组件编写的基本技巧,其实也没有多少可说的。

推荐答案

5

已采纳

轮播这种普遍的效果一般不会生造轮子……

真要自己撸的话,我一开始基本不会考虑复用,因为真的自己撸一定是“找不到合适的轮子”,那基本上代表了业务场景很难复用。而且,真的发现可以复用的时候,再重构代码来提公用部分反而比较高效。因为为了业务写的代码,基本没有时间仔细梳理文档,当初留的扩展性过了三个月很容易就变成坑了。“没有思路的时候不谈复用,只求最简实现”

但是,假设我做了N遍轮播,找了M个轮子都觉得不顺手,同时业务又不紧或者下班有时间的时候,我就会以冲动开始造轮子了,这时候我会参考M个轮子各自的优缺点,决定自己的这个轮子究竟如何在扩展性和易用性上取到平衡点,到这时你一定对M个轮子各种吐槽,集合你N遍轮播碰到的各种情况,顺势而为,呼啦啦一个晚上就能轻松撸出自己的轮子,然后哼着歌套到项目里试试,效果好,你学到了,效果不好,你也学到了。如果你还能试着拉你的小伙伴一起来用,听听他的评价,那你能学到更多。慢慢的,你碰到没做几次的效果甚至第一次做的效果,心里也还是有数,嗯,这里留个配置,哪里暴露个接口,以后会爽。

当然,你可能会从地上的坑里飞出来,掉到天上的坑里去:你开始过度设计,做什么都插件,模块,复用,然后你发现你花了很多时间写的这些插件,模块,复用让其他同事无法理解你的代码,让你的代码和小伙伴的代码格格不入,当初留的扩展性很少用上,更糟糕的是小伙伴来写的时候他根本不理解你预留的扩展性,他会再自己写一套他的……

最后,你看到一个需求,低头掐指一算时间多充裕,小伙伴多信你,外面的轮子靠谱不,自己造轮子能达到好效果不,不造轮子直接强撸又怎样,双眼猛地一亮抄起键盘啪啪啪

到此神功大成,可喜可贺