極簡化

极简化（另称缩小化），在编程语言 (尤其是JavaScript) 的范畴里，指的是在不影响功能的情况下，移除所有非功能性必要之源代码字元（如：空白、换行、注解、以及些许的区块办识子），因为虽然它们有助于提升源代码的易读性，但在实际运行时却不是必要的部分。
极简化后的源代码特别对于在网络上传送的直译式语言（例： Javascript）有所助益，因为经过极简化之后，需要传输的资料减少了，大幅减少了传输所需的时间以及带宽；极简化后的源代码也可以被当作一种代码混淆的结果，使人不易阅读或使用，但只需依靠源代码美化器便可以把结构整理出来；极简化和常见的数据压缩也有所不同，因为极简化的源代码并不需要经过解压缩的过程便可以阅读或执行。
另外，极简化同时也是一种程序员文化：例如在Perl 的圈子里，Perl Golf 活动的目标正是追求尽可能的极简化。

范例

举以下的JavaScript 为例子
var array = [];for (var i = 0; i < 20; i++) {
  array[i] = i;}
与下面极简化后的源代码等价
for(var a=[i=0];++i<20;a[i]=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 极简化计划里的一个部分定立的。后续的第二、三版，更进一步减小的对照表的档案大小。