javascript - 编写js效果的时候, 大家一般是怎么去构思的?
阿神
阿神 2017-04-10 14:57:41
[JavaScript讨论组]

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

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

阿神
阿神

闭关修行中......

全部回复(5)
黄舟

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

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

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

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

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

到此神功大成,可喜可贺

伊谢尔伦

TDD和OOP你值得拥有。

你看如果你真的要做一个插件,那么你应该看看有没有同样功能的插件,看看他的代码。你要学会借鉴。

你得想想自己是做一个jquery的插件,还是说做一个纯js实现的插件或者有没有其他的依赖。然后想想有什么功能来设计调用接口,怎么暴露接口。怎么构建?命名空间设计模式、seajs(CMD)、requirejs(AMD)、webpack、browserify等等你要想想,这些东西能帮你更好的组织代码。

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

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

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

黄舟

就拿轮播举例子:
写多了就会想,能不能以后只用一段代码(类)搞定所有轮播问题?
只要朝着这个方向努力就行了。

伊谢尔伦

分析需求,满足最小可用,增强迭代。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号