代码抽象化之后的代码不能被重复使用了

html-css015

代码抽象化之后的代码不能被重复使用了,第1张

html+css+js网页设计

杂记-05.代码抽象三原则

helloxielan

转载

关注

0点赞·51人阅读

一、DRY(Don't repeat yourself)

解释:不要重复自己

多次遇到同样的问题,就应该抽象出一个通用的解决方法,而不是重复同样的代码。

二、YAGNI(You aren't gonna need it)

解释:你不会需要它

除了最核心的功能,其他功能一概不要部署,尽可能快、尽可能简单地让软件运行起来。

即不要为了抽象而抽象,不要让代码一开始就变成华而不实的空中楼阁。

三、Rule Of Three

解释:三次原则

第一次用到某个功能时,你写一个特定的解决方法;

第二次又用到的时候,你拷贝上一次的代码;

第三次出现的时候,你才着手"抽象化",写出通用的解决方法。

理由:

(1)省事。如果一种功能只有一到两个地方会用到,就不需要在"抽象化"上面耗费时间了。

(2)容易发现模式。"抽象化"需要找到问题的模式,问题出现的场合越多,就越容易看出模式,从而可以更准确地"抽象化"。

(3)防止过度冗余。如果一种功能同时有多个实现,管理起来非常麻烦,修改的时候需要修改多处。在实际工作中,重复实现最多可以容忍出现一次,再多就无法接受了。

总结语:

该抽象的时候一定要抽象,不该抽象的时候就不要抽象,事不过三,三次或以上的重复代码再做抽象化。

React是划时代的开发工具。

更彻底的组件化

组件化意味着:

单向数据流

在React中,你操作的是数据。React根据你的数据变动来渲染出新的内容。数据就是数据,渲染就是渲染。避免了MVC中view部分又去直接修改model。具体实现运用了Redux、纯函数、高阶组件。

虚拟DOM

对于三大框架 React、Angular和Vue这不算很稀奇的事情。只是对比jQuery有优势。

颠覆传统的前端开发

意味着开发者要学习一些新的开发范式。比如传统前端遵循html/css/js分离,而React因为组件化,所以都使用JSX把html写在了JavaScript中。Vue号称自己的侵入性比 React 和 Angular 小,而且仍然保留 html/css/js 分离,且可以使用 ES5 语法(不强制使用ES6)。

学习曲线陡峭

React自带的JSX、ES6语法、组件化、单向数据流、Redux、jest/enzyme测试。

关于框架的选择,仍然是那句话:萝卜白菜各有所爱,适合自己的就是最好的。然而前端正在进行一场革命,从2015年/2016年来看特别明显。React可能不是这场前端革命的终点(也许三大框架都不是),但是React带来的新的开发思路,值得去了解。

Stylish,浏览器自定义网页css插件

一11

奶牛网络杂记1,080 views查看评论

今天奶牛为大家推荐的是这款叫Stylish的浏览器插件,在firefox跟chrome上都有其版本。Stylish的功能呢就是对网页进行自定义css,当然,对于网页编辑不是很了解的朋友可能不知道这东西到底有啥用,不过,奶牛可以为大家展示下自己的新浪微博的界面,大家就会有所了解了。新浪微博现在有很多广告啊,什么签到啊等讨厌的模块,通过自定义css我们可以让这一切都变得很清爽。

如图:

还不错吧,这个就是用Stylish做到的。其实这要针对模块的id或者class做隐藏,那些讨厌的广告就都不会显示出来了。

点此下载Stylish(firefox)

点此下载Stylish(chrome)

安装方法:下载后解压缩zip包,把zip包内的插件直接拖到相应浏览器地址栏即可安装