在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

計算機編程里的美化和丑化概念

Linux閱碼場 ? 來源:Linux閱碼場 ? 作者:Linux閱碼場 ? 2021-04-16 11:46 ? 次閱讀

我們不提倡以貌取人,但是人確實有美丑之別,美人讓人賞心悅目,丑人讓人。。。不那么賞心悅目。

代碼也一樣。

計算機編程里有一組相關的概念,一個叫做Prettify(美化),一個叫做Uglify(丑化)。

Prettify的典型應用是在JSON/XML/HTML這些數據的呈現上,對眼睛不友好的json,烏央烏央的一坨,讓人看起來很費勁:

[{“name”:“Mac”,“language”:“python”,“major”:“computer application”},{“name”:“Ava”,“language”:“C++”},{“name”:“Ryan”,“language”:“Java”}]

對眼睛友好的json,層次結構清晰明了:

{

“name”: “Mac”,

“language”: “python”,

“major”: “computer application”

},

{

“name”: “Ava”,

“language”: “C++”

},

{

“name”: “Ryan”,

“language”: “Java”

}

而Uglify(以及Obfuscate/混淆)的應用場景,是在不改變代碼邏輯的情況下讓代碼很難理解,以減少代碼被剽竊抄襲的可能,起到保護代碼作用。比如,以下代碼很容易理解:

def get_user(username):

pass

username = ‘ava’

user = get_user(username)

以下代碼和以上代碼在功能上是同等的,但是非常“反人類”:

def a121(rw24__fdx):

pass

kwlekf_fw12q= ‘ava’

II11LL =a121(kwlekf_fw12q)

這個例子看似很蠢,但是它可以讓我們更直觀地看到代碼可讀性(Readability)的重要性,從而引起一些反思:自己寫的代碼可能是不是也像是被“丑化”過,讓人看得視力下降,血壓上升,怒從心頭起,惡向膽邊生?

代碼能正確工作,這僅僅是寫代碼的基本要求,高質量的代碼,一定具有良好的可讀性。

在某種程度上來說,寫代碼是一種社交行為,其溝通的對象不僅包括計算機(使之可以被執行),也包括人。

這其中牽涉到人的環節很多,包括評審代碼和后續的代碼維護(修復缺陷、重構改進)等等,進行這些操作有一個基本前提:理解代碼邏輯!用更直白的話講,就是能看懂。

如何才能讓人更容易看懂?

遵循KISS原則: Keep It Simple and Stupid!簡單直白,一目了然!

我們不妨來賞析兩段詩詞:

“長橋臥波,未云何龍?復道行空,不霽何虹?高低冥迷,不知西東”,出自杜牧的《阿房宮賦》,描寫了阿房宮的氣勢。

“不敢高聲語,恐驚天上人”,出自李白的《夜宿山寺》,描寫了山寺高樓。

這兩段詩詞具有一定的可比性:

都是描寫建筑

作者年代相近(事實上,杜牧比李白晚生了一個世紀,離我們的年代更近)

都是傳世名篇。

但是,他們的風格顯然不一樣。

《阿房宮賦》引經據典,辭藻華麗,但是不容易看懂,讓人望而生畏。《夜宿山寺》用詞簡單卻絲毫不犧牲詩意的表達,所以老少咸宜,販夫走卒皆可傳誦。

假如,《阿房宮賦》問世之后,我們發現阿房宮其實還有一處奇特的噴泉景觀沒有被寫進去。如果讓我在原文基礎上加上相應的內容,我會很惶恐,因為連原文都沒看懂,談何修改和擴展?不敢,不敢!

但是,如果讓我來擴展《夜宿山寺》,雖然水平和詩仙有云泥之別,但是因為這首詩良好的可讀性,愚笨如我也讀懂了,或許,我可以斗膽以狗尾續貂。。。

代碼需要讓計算機明白我們想讓它做什么,同時也需要讓人(其他程序員)可以很容易地明白其中的意圖和思路。詩詞的可讀性影響詩詞的傳承,代碼的可讀性影響代碼的傳承(可維護性),在這個方面,詩詞和代碼是相通的。

寫到這里,我的心情突然緊張起來了。我總是教訓徐小胖寫作文天馬行空離題萬里,沒想到,我自己的毛病也沒有改過來。為了打造嚴肅的軟件編程技術公眾號,我以后要爭取做到扣題。

原文標題:漫談代碼可讀性

文章出處:【微信公眾號:Linuxer】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 源代碼
    +關注

    關注

    96

    文章

    2947

    瀏覽量

    67033

原文標題:漫談代碼可讀性

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    虛擬內存對計算機性能的影響

    在現代計算機系統中,內存管理是確保系統高效運行的關鍵因素之一。虛擬內存技術作為內存管理的核心組成部分,對于提升計算機性能和用戶體驗起著至關重要的作用。 一、虛擬內存的概念 虛擬內存是一種內存管理技術
    的頭像 發表于 12-04 09:17 ?1495次閱讀

    工業中使用哪種計算機?

    在工業環境中,工控機被廣泛使用。這些計算機的設計可承受極端溫度、灰塵和振動等惡劣條件。它們比標準消費類計算機更耐用、更可靠。工業計算機可控制機器、監控流程并實時收集數據。其堅固的結構和專業功能
    的頭像 發表于 11-29 14:07 ?255次閱讀
    工業中使用哪種<b class='flag-5'>計算機</b>?

    量子計算機與普通計算機工作原理的區別

    ? 本文介紹了量子計算機與普通計算機工作原理的區別。 量子計算是一個新興的研究領域,科學家們利用量子力學,制造出具有革命性能力的計算機。雖然現在的量子
    的頭像 發表于 11-24 11:00 ?576次閱讀
    量子<b class='flag-5'>計算機</b>與普通<b class='flag-5'>計算機</b>工作原理的區別

    ROM對計算機性能的影響

    只讀存儲器(ROM)是計算機硬件中的一個重要組成部分,它負責存儲計算機啟動時必需的固件和基本輸入輸出系統(BIOS)。ROM的性能和質量對計算機的整體性能有著深遠的影響。 ROM的基本概念
    的頭像 發表于 11-04 10:31 ?556次閱讀

    計算機接口位于什么之間

    計算機接口是計算機硬件和軟件之間、計算機與外部設備之間以及計算機各部件之間傳輸數據、控制信息和狀態信息的硬件設備和軟件程序。它在計算機系統中
    的頭像 發表于 10-14 14:02 ?599次閱讀

    計算機的內存容量有什么作用

    計算機的內存容量,作為一個核心概念,在計算機科學、信息技術以及日常使用中扮演著至關重要的角色。它不僅直接關系到計算機處理數據的能力,還影響著用戶體驗、系統性能以及多任務處理的效率。在深
    的頭像 發表于 09-10 14:47 ?1346次閱讀

    簡述計算機總線的分類

    計算機總線作為計算機系統中連接各個功能部件的公共通信干線,其結構和分類對于理解計算機硬件系統的工作原理至關重要。以下是對計算機總線結構和分類的詳細闡述,內容將涵蓋總線的基本
    的頭像 發表于 08-26 16:23 ?2811次閱讀

    晶體管計算機和電子管計算機有什么區別

    晶體管計算機和電子管計算機作為計算機發展史上的兩個重要階段,它們在多個方面存在顯著的區別。以下是對這兩類計算機在硬件、性能、應用以及技術發展等方面區別的詳細闡述。
    的頭像 發表于 08-23 15:28 ?2342次閱讀

    計算機系統的組成和功能

    計算機系統是一個復雜而龐大的概念,它涵蓋了計算機硬件、軟件以及它們之間相互作用的所有元素。為了全面而深入地探討計算機系統,本文將從定義、組成、功能、發展歷程以及未來趨勢等方面進行詳細闡
    的頭像 發表于 07-24 17:41 ?1366次閱讀

    計算機視覺屬于人工智能嗎

    和解釋視覺信息,從而實現對圖像和視頻的自動分析和處理。 計算機視覺的基本概念 2.1 計算機視覺的定義 計算機視覺是一門研究如何使計算機具有
    的頭像 發表于 07-09 09:11 ?1465次閱讀

    工業控制計算機與普通個人計算機相比有何區別?

    引言 隨著科技的不斷發展,計算機在各個領域的應用越來越廣泛。在眾多計算機類型中,工業控制計算機和普通個人計算機是兩種常見的計算機。盡管它們在
    的頭像 發表于 06-11 10:45 ?1118次閱讀

    工業計算機與普通計算機的區別

    在信息化和自動化日益發展的今天,計算機已經成為了我們日常生活和工作中不可或缺的工具。然而,在計算機領域中,工業計算機和普通計算機雖然都具備基本的計算
    的頭像 發表于 06-06 16:45 ?1675次閱讀

    【量子計算機重構未來 | 閱讀體驗】+ 了解量子疊加原理

    作為零基礎初學級的量子小白,對神秘詭異的量子世界充滿了好奇。說起量子計算機,我有許多問號,量子計算機的工作原理是什么?它和電子計算機有什么區別?量子計算機如何
    發表于 03-13 17:19

    【量子計算機重構未來 | 閱讀體驗】+量子計算機的原理究竟是什么以及有哪些應用

    計算方法的區別傳統方法是,按照不走枚舉所有情況,而量子計算是一次處理所有情況,是一步到位。但是這里又有疑惑了,量子計算如何實現的一步到位呢, 這里引入了量子比特和傳統計算機比特的
    發表于 03-11 12:50

    【量子計算機重構未來 | 閱讀體驗】+ 初識量子計算機

    欣喜收到《量子計算機——重構未來》一書,感謝電子發燒友論壇提供了一個讓我了解量子計算機的機會! 自己對電子計算機有點了解,但對量子計算機真是一無所知,只是聽說過量子糾纏、超快的運算速
    發表于 03-05 17:37
    主站蜘蛛池模板: 国产精品李雅在线观看 | 日韩三级小视频 | 伊人久久大香线蕉综合网站 | 欧美成人精品欧美一级乱黄 | 午夜小视频在线观看 | 久久鲁视频 | 九九热在线免费 | 夜色综合| 欧美爱爱帝国综合社区 | 性喷潮久久久久久久久 | 日本不卡高清视频 | 污污的网站免费阅读 | 国产未成女年一区二区 | 欧美成人h精品网站 | 女人张开腿等男人桶免费视频 | 亚洲性后网 | 国产农村一级特黄α真人毛片 | 日本一区免费观看 | 亚洲va中文字幕无码 | 午夜视频在线观看国产www | 亚洲午夜视频在线 | 日本一二线不卡在线观看 | 韩国a级床戏大尺度在线观看 | 欧美456| 五月六月伊人狠狠丁香网 | 国产精品成人aaaaa网站 | 日韩精品视频免费观看 | 亚洲福利视频一区 | 69女poren16| 青草午夜精品视频在线观看 | 4虎影视国产在线观看精品 4虎影院永久地址www | 婷婷亚洲视频 | 久久婷婷色 | 就操| 四虎精品影院4hutv四虎 | 一本一本大道香蕉久在线精品 | 久久综合九色综合97_ 久久久 | 天天激情综合 | 人人澡人人澡人人看青草 | 久久亚洲国产午夜精品理论片 | 国产亚洲人成网站观看 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品