fbpx
维基百科

極簡化

極簡化(另称縮小化),在程式語言 (尤其是 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[1] 工具,這個版本只移除原始碼中的註解以及空白字元。推出不久後,就由 YUI Compressor 接著發展。

2009年,Google 公開了它們的 Closure Toolkit,當中包括 Closure Compiler[2],一個能產出原始碼對照表的簡化器,以及一個稱為 Closure Inspector[3] 的 Firefox 外掛。

2010年,Mihai Bazon 發表 UglifyJS[4];2012年發表重新改寫的 UglifyJS2,以便加入原始碼對照表支援。

原始碼對照表 编辑

原始碼對照表在原始碼和極簡化後的程式碼中建立所需的對應,如此一來在除錯工具中,極簡化後的原始碼看起來就像是原本的原始碼一樣。

這個對照表的格式,最早是由 Joseph Schorr 作為 Closure Inspector 極簡化計畫裡的一個部份定立的。後續的第二、三版,更進一步減小的對照表的檔案大小。

參考資料 编辑

  1. ^ JSMin. [2020-07-24]. (原始内容于2021-03-06). 
  2. ^ google/closure-compiler: A JavaScript checker and optimizer.. [2020-07-24]. (原始内容于2021-03-27). 
  3. ^ Google Code Archive - Long-term storage for Google Code Project Hosting.. [2020-07-24]. (原始内容于2016-12-31). 
  4. ^ uglify-js - npm. [2020-07-24]. (原始内容于2017-08-22). 

參見 编辑

外部連結 编辑

極簡化, 另称縮小化, 在程式語言, 尤其是, javascript, 的範疇裡, 指的是在不影響功能的情況下, 移除所有非功能性必要之原始碼字元, 空白, 換行, 註解, 以及些許的區塊辦識子, 因為雖然它們有助於提昇原始碼的易讀性, 但在實際運行時卻不是必要的部份, 後的原始碼特別對於在網路上傳送的直譯式語言, javascript, 有所助益, 因為經過之後, 需要傳輸的資料減少了, 大幅減少了傳輸所需的時間以及頻寬, 後的原始碼也可以被當作一種代碼混淆的結果, 使人不易閱讀或使用, 但只需依靠原始碼美化器便. 極簡化 另称縮小化 在程式語言 尤其是 JavaScript 的範疇裡 指的是在不影響功能的情況下 移除所有非功能性必要之原始碼字元 如 空白 換行 註解 以及些許的區塊辦識子 因為雖然它們有助於提昇原始碼的易讀性 但在實際運行時卻不是必要的部份 極簡化後的原始碼特別對於在網路上傳送的直譯式語言 例 Javascript 有所助益 因為經過極簡化之後 需要傳輸的資料減少了 大幅減少了傳輸所需的時間以及頻寬 極簡化後的原始碼也可以被當作一種代碼混淆的結果 使人不易閱讀或使用 但只需依靠原始碼美化器便可以把結構整理出來 極簡化和常見的数据压缩也有所不同 因為極簡化的原始碼並不需要經過解壓縮的過程便可以閱讀或執行 另外 極簡化同時也是一種程式設計師文化 例如在 Perl 的圈子裡 Perl Golf 活動的目標正是追求盡可能的極簡化 目录 1 範例 2 歷史 3 原始碼對照表 4 參考資料 5 參見 6 外部連結範例 编辑舉以下的 JavaScript 為例子var array for var i 0 i lt 20 i array i i 與下面極簡化後的原始碼等價for var a i 0 i lt 20 a i i 歷史 编辑2003年 Douglas Crockford 發表了 JSMin 1 工具 這個版本只移除原始碼中的註解以及空白字元 推出不久後 就由 YUI Compressor 接著發展 2009年 Google 公開了它們的 Closure Toolkit 當中包括 Closure Compiler 2 一個能產出原始碼對照表的簡化器 以及一個稱為 Closure Inspector 3 的 Firefox 外掛 2010年 Mihai Bazon 發表 UglifyJS 4 2012年發表重新改寫的 UglifyJS2 以便加入原始碼對照表支援 原始碼對照表 编辑原始碼對照表在原始碼和極簡化後的程式碼中建立所需的對應 如此一來在除錯工具中 極簡化後的原始碼看起來就像是原本的原始碼一樣 這個對照表的格式 最早是由 Joseph Schorr 作為 Closure Inspector 極簡化計畫裡的一個部份定立的 後續的第二 三版 更進一步減小的對照表的檔案大小 參考資料 编辑 JSMin 2020 07 24 原始内容存档于2021 03 06 google closure compiler A JavaScript checker and optimizer 2020 07 24 原始内容存档于2021 03 27 Google Code Archive Long term storage for Google Code Project Hosting 2020 07 24 原始内容存档于2016 12 31 uglify js npm 2020 07 24 原始内容存档于2017 08 22 參見 编辑複製保護 逆向工程外部連結 编辑極簡化 ProgWiki 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 極簡化 amp oldid 69442550, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。