计算机科学

首页 > 计算机科学

极简化

2018-09-03 09:38:15     所属分类:源代码

极简化(另称缩小化),在编程语言 (尤其是 JavaScript) 的范畴里,指的是在不影响功能的情况下,移除所有非功能性必要之源代码字元(如:空白、换行、注解、以及些许的区块办识子),因为虽然它们有助于提升源代码的易读性,但在实际运行时却不是必要的部分。

极简化后的源代码特别对于在网络上传送的直译式语言(例: Javascript)有所助益,因为经过极简化之后,需要传输的资料减少了,大幅减少了传输所需的时间以及带宽;极简化后的源代码也可以被当作一种代码混淆的结果,使人不易阅读或使用,但只需依靠源代码美化器便可以把结构整理出来;极简化和常见的数据压缩也有所不同,因为极简化的源代码并不需要经过解压缩的过程便可以阅读或执行。

另外,极简化同时也是一种程序员文化:例如在 Perl 的圈子里,Perl Golf 活动的目标正是追求尽可能的极简化。

目录

  • 1 范例
  • 2 历史
  • 3 源代码对照表
  • 4 参见
  • 5 外部链接

范例

举以下的 JavaScript 为例子

var array = ;
for (var i = 0; i < 20; i++) {
  arrayi = i;
}

与下面极简化后的源代码等价

for(var a=i=0;++i<20;ai=i);

历史

2003年,Douglas Crockford 发表了 JSMin 工具,这个版本只移除源代码中的注解以及空白字元。推出不久后,就由 YUI Compressor 接着发展。

2009年,Google 公开了它们的 Closure Toolkit,当中包括 Closure Compiler,一个能产出源代码对照表的简化器,以及一个称为 Closure Inspector 的 Firefox 外挂。

2010年,Mihai Bazon 发表 UglifyJS;2012年发表重新改写的 UglifyJS2,以便加入源代码对照表支援。

源代码对照表

源代码对照表在源代码和极简化后的程式码中建立所需的对应,如此一来在除错工具中,极简化后的源代码看起来就像是原本的源代码一样。

这个对照表的格式,最早是由 Joseph Schorr 作为 Closure Inspector 极简化计划里的一个部分定立的。后续的第二、三版,更进一步减小的对照表的档案大小。

参见

  • 复制保护
  • 逆向工程

外部链接

  • Minify / JavaScript CSS HTML ...[失效链接] - 在线极简化(支持js css html)
  • JSMin - Javasciprt 极简化工具
  • Javascript反向极简化工具
  • pack:tag - A JSP Taglib for minifing JavaScript and CSS on the fly (with caching, combination and compressing(gzip))(Official Dokumentation).
  • JSO - JSO(JavaScript Optimizer) is a project that allow you to manage easily your JavaScript and CSS resources and to reduce the amount of data transferred between the server and the client.
  • JAWR[失效链接] - A library for Java web applications that joins javascript files and then minifies and compresses them, fostering a modular approach to development. Its main benefit is that developers can switch from the joined, compressed form to separate and uncompressed versions of the scripts, whithout the need to change the pages.
  • Minify - A PHP library that combines, minifies, and caches JavaScript and CSS files on the fly.
  • JS Dojo Minifier
  • Online JavaScript minifier tool - An interface allowing you to upload your javascript files to get the minified version on submission.
  • Minify JavaScript Online - Compress your JavaScript online with the JSMin algorithm (direct copy/paste into textarea).
  • Yahoo! UI Library: YUI Compressor - Compress your JavaScript and CSS using this Java application from the Yahoo! team.
  • SmartOptimizer - Another PHP library that combines, minifies, caches JavaScript and CSS files and also embeds CSS images on the fly.
  • CSS Compressor - Free online tool for minifying CSS code
  • FastCSSLoader - Simple PHP Script to minify and send together all CSS files contained in a folder
  • JavaScript Code Improver - Reverse minify and obfuscate Javascript code
版权声明:本文由北城百科网创作,转载请联系管理获取授权,未经容许转载必究。https://www.beichengjiu.com/computerscience/340476.html

上一篇:语法糖
下一篇:软件质量
相关推荐