日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

計(jì)算機(jī)編程里的美化和丑化概念

Linux閱碼場(chǎng) ? 來(lái)源:Linux閱碼場(chǎng) ? 作者:Linux閱碼場(chǎng) ? 2021-04-16 11:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

代碼也一樣。

計(jì)算機(jī)編程里有一組相關(guān)的概念,一個(gè)叫做Prettify(美化),一個(gè)叫做Uglify(丑化)。

Prettify的典型應(yīng)用是在JSON/XML/HTML這些數(shù)據(jù)的呈現(xiàn)上,對(duì)眼睛不友好的json,烏央烏央的一坨,讓人看起來(lái)很費(fèi)勁:

[{“name”:“Mac”,“l(fā)anguage”:“python”,“major”:“computer application”},{“name”:“Ava”,“l(fā)anguage”:“C++”},{“name”:“Ryan”,“l(fā)anguage”:“Java”}]

對(duì)眼睛友好的json,層次結(jié)構(gòu)清晰明了:

{

“name”: “Mac”,

“l(fā)anguage”: “python”,

“major”: “computer application”

},

{

“name”: “Ava”,

“l(fā)anguage”: “C++”

},

{

“name”: “Ryan”,

“l(fā)anguage”: “Java”

}

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

def get_user(username):

pass

username = ‘a(chǎn)va’

user = get_user(username)

以下代碼和以上代碼在功能上是同等的,但是非?!胺慈祟?lèi)”:

def a121(rw24__fdx):

pass

kwlekf_fw12q= ‘a(chǎn)va’

II11LL =a121(kwlekf_fw12q)

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

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

在某種程度上來(lái)說(shuō),寫(xiě)代碼是一種社交行為,其溝通的對(duì)象不僅包括計(jì)算機(jī)(使之可以被執(zhí)行),也包括人。

這其中牽涉到人的環(huán)節(jié)很多,包括評(píng)審代碼和后續(xù)的代碼維護(hù)(修復(fù)缺陷、重構(gòu)改進(jìn))等等,進(jìn)行這些操作有一個(gè)基本前提:理解代碼邏輯!用更直白的話(huà)講,就是能看懂。

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

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

我們不妨來(lái)賞析兩段詩(shī)詞:

“長(zhǎng)橋臥波,未云何龍?復(fù)道行空,不霽何虹?高低冥迷,不知西東”,出自杜牧的《阿房宮賦》,描寫(xiě)了阿房宮的氣勢(shì)。

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

這兩段詩(shī)詞具有一定的可比性:

都是描寫(xiě)建筑

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

都是傳世名篇。

但是,他們的風(fēng)格顯然不一樣。

《阿房宮賦》引經(jīng)據(jù)典,辭藻華麗,但是不容易看懂,讓人望而生畏?!兑顾奚剿隆酚迷~簡(jiǎn)單卻絲毫不犧牲詩(shī)意的表達(dá),所以老少咸宜,販夫走卒皆可傳誦。

假如,《阿房宮賦》問(wèn)世之后,我們發(fā)現(xiàn)阿房宮其實(shí)還有一處奇特的噴泉景觀沒(méi)有被寫(xiě)進(jìn)去。如果讓我在原文基礎(chǔ)上加上相應(yīng)的內(nèi)容,我會(huì)很惶恐,因?yàn)檫B原文都沒(méi)看懂,談何修改和擴(kuò)展?不敢,不敢!

但是,如果讓我來(lái)擴(kuò)展《夜宿山寺》,雖然水平和詩(shī)仙有云泥之別,但是因?yàn)檫@首詩(shī)良好的可讀性,愚笨如我也讀懂了,或許,我可以斗膽以狗尾續(xù)貂。。。

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

寫(xiě)到這里,我的心情突然緊張起來(lái)了。我總是教訓(xùn)徐小胖寫(xiě)作文天馬行空離題萬(wàn)里,沒(méi)想到,我自己的毛病也沒(méi)有改過(guò)來(lái)。為了打造嚴(yán)肅的軟件編程技術(shù)公眾號(hào),我以后要爭(zhēng)取做到扣題。

原文標(biāo)題:漫談代碼可讀性

文章出處:【微信公眾號(hào):Linuxer】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2953

    瀏覽量

    70714

原文標(biāo)題:漫談代碼可讀性

文章出處:【微信號(hào):LinuxDev,微信公眾號(hào):Linux閱碼場(chǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Renesas 4508 Group單芯片4位CMOS微計(jì)算機(jī)技術(shù)剖析

    Renesas 4508 Group單芯片4位CMOS微計(jì)算機(jī)技術(shù)剖析 引言 在電子設(shè)計(jì)領(lǐng)域,微計(jì)算機(jī)芯片的性能和特性對(duì)產(chǎn)品的整體表現(xiàn)起著關(guān)鍵作用。Renesas 4508 Group單芯片4位
    的頭像 發(fā)表于 04-13 14:20 ?135次閱讀

    計(jì)算機(jī)專(zhuān)業(yè)408考研科目

    408 跨考零基礎(chǔ):三個(gè)月入門(mén)到精通路線(xiàn) 站在2026年的節(jié)點(diǎn)回望,計(jì)算機(jī)考研408(計(jì)算機(jī)學(xué)科專(zhuān)業(yè)基礎(chǔ)綜合)早已超越了單純的知識(shí)點(diǎn)考核,它更像是一場(chǎng)對(duì)邏輯思維與系統(tǒng)觀的深度洗禮。對(duì)于跨考且零基
    發(fā)表于 04-11 16:44

    十進(jìn)制計(jì)算機(jī)硬件體系結(jié)構(gòu)及“獨(dú)值”量化邏輯運(yùn)算革命(一)

    采用“獨(dú)值”量化邏輯理論設(shè)計(jì)十進(jìn)制數(shù)字計(jì)算機(jī),十進(jìn)制網(wǎng)絡(luò)計(jì)算機(jī),十進(jìn)制模擬計(jì)算機(jī),十進(jìn)制模糊計(jì)算機(jī),實(shí)現(xiàn)計(jì)算機(jī)類(lèi)型多樣化,
    的頭像 發(fā)表于 01-29 09:13 ?1139次閱讀
    十進(jìn)制<b class='flag-5'>計(jì)算機(jī)</b>硬件體系結(jié)構(gòu)及“獨(dú)值”量化邏輯運(yùn)算革命(一)

    上海計(jì)算機(jī)視覺(jué)企業(yè)行學(xué)術(shù)沙龍走進(jìn)西井科技

    12月5日,由中國(guó)圖象圖形學(xué)學(xué)會(huì)青年工作委員會(huì)(下簡(jiǎn)稱(chēng)“青工委”)、上海市計(jì)算機(jī)學(xué)會(huì)計(jì)算機(jī)視覺(jué)專(zhuān)委會(huì)(下簡(jiǎn)稱(chēng)“專(zhuān)委會(huì)”)聯(lián)合主辦,上海西井科技股份有限公司、江蘇路街道商會(huì)承辦的“上海計(jì)算機(jī)視覺(jué)企業(yè)行—走進(jìn)西井科技”學(xué)術(shù)沙龍,在西
    的頭像 發(fā)表于 12-16 15:39 ?758次閱讀

    工控機(jī)與普通計(jì)算機(jī)的核心差異解析

    在工業(yè)自動(dòng)化和智能制造領(lǐng)域,計(jì)算機(jī)設(shè)備作為核心控制單元,其選擇直接影響整個(gè)系統(tǒng)的穩(wěn)定性與可靠性。工控機(jī)與普通計(jì)算機(jī)雖同屬計(jì)算設(shè)備,但其設(shè)計(jì)目標(biāo)、性能側(cè)重和應(yīng)用場(chǎng)景存在根本性差異。準(zhǔn)確理解這些差異,是進(jìn)行正確設(shè)備選型的基礎(chǔ)。
    的頭像 發(fā)表于 11-25 14:45 ?2024次閱讀
    工控機(jī)與普通<b class='flag-5'>計(jì)算機(jī)</b>的核心差異解析

    龍架構(gòu)計(jì)算機(jī)系統(tǒng)能力核心課程教學(xué)研討會(huì)圓滿(mǎn)舉行

    2025年11月8日,由教育部計(jì)算機(jī)類(lèi)專(zhuān)業(yè)系統(tǒng)能力課程群虛擬教研室指導(dǎo)、北京航空航天大學(xué)計(jì)算機(jī)學(xué)院主辦的龍架構(gòu)計(jì)算機(jī)系統(tǒng)能力核心課程教學(xué)研討會(huì)在京舉行。
    的頭像 發(fā)表于 11-14 13:52 ?811次閱讀

    貿(mào)澤電子開(kāi)售全新Arduino UNO Q單板計(jì)算機(jī)

    貿(mào)澤電子開(kāi)售全新Arduino UNO Q單板計(jì)算機(jī)。Arduino UNO Q單板計(jì)算機(jī)(SBC)將高性能計(jì)算與實(shí)時(shí)控制結(jié)合,提供理想的創(chuàng)新平臺(tái)。
    的頭像 發(fā)表于 11-08 09:50 ?1613次閱讀

    【作品合集】賽昉科技VisionFive 2單板計(jì)算機(jī)開(kāi)發(fā)板測(cè)評(píng)

    賽昉科技VisionFive 2單板計(jì)算機(jī)開(kāi)發(fā)板測(cè)評(píng)作品合集 產(chǎn)品介紹: 昉·星光 2是全球首款集成了3D GPU的高性能量產(chǎn)RISC-V單板計(jì)算機(jī),搭載昉·驚鴻-7110(型號(hào):JH-7110
    發(fā)表于 09-04 09:08

    工業(yè)計(jì)算機(jī)的重要性

    工業(yè)計(jì)算機(jī)對(duì)某些行業(yè)至關(guān)重要。我們將在下面詳細(xì)解釋這些行業(yè)中的工業(yè)計(jì)算機(jī)應(yīng)用。1.制造與工業(yè)自動(dòng)化工業(yè)級(jí)計(jì)算機(jī)非常適合制造工廠,特別是那些想要自動(dòng)化裝配過(guò)程的工廠。在這樣的環(huán)境中,工業(yè)計(jì)算機(jī)
    的頭像 發(fā)表于 07-28 16:07 ?752次閱讀
    工業(yè)<b class='flag-5'>計(jì)算機(jī)</b>的重要性

    自動(dòng)化計(jì)算機(jī)經(jīng)過(guò)加固后有什么好處?

    讓我們討論一下部署堅(jiān)固的自動(dòng)化計(jì)算機(jī)的一些好處。1.溫度范圍寬自動(dòng)化計(jì)算機(jī)經(jīng)過(guò)工程設(shè)計(jì),配備了支持寬溫度范圍的組件,使自動(dòng)化計(jì)算解決方案能夠在各種不同的極端環(huán)境中運(yùn)行。自動(dòng)化計(jì)算機(jī)能夠
    的頭像 發(fā)表于 07-21 16:44 ?782次閱讀
    自動(dòng)化<b class='flag-5'>計(jì)算機(jī)</b>經(jīng)過(guò)加固后有什么好處?

    自動(dòng)化計(jì)算機(jī)的功能與用途

    工業(yè)自動(dòng)化是指利用自動(dòng)化計(jì)算機(jī)來(lái)控制工業(yè)環(huán)境中的流程、機(jī)器人和機(jī)械,以制造產(chǎn)品或其部件。工業(yè)自動(dòng)化的目的是提高生產(chǎn)率、增加靈活性,并提升制造過(guò)程的質(zhì)量。工業(yè)自動(dòng)化在汽車(chē)制造中體現(xiàn)得最為明顯,其中許多
    的頭像 發(fā)表于 07-15 16:32 ?932次閱讀
    自動(dòng)化<b class='flag-5'>計(jì)算機(jī)</b>的功能與用途

    工業(yè)計(jì)算機(jī)與商用計(jì)算機(jī)的區(qū)別有哪些

    工業(yè)計(jì)算機(jī)是一種專(zhuān)為工廠和工業(yè)環(huán)境設(shè)計(jì)的計(jì)算系統(tǒng),具有高可靠性和穩(wěn)定性,能夠應(yīng)對(duì)惡劣環(huán)境下的自動(dòng)化、制造和機(jī)器人操作。其特點(diǎn)包括無(wú)風(fēng)扇散熱技術(shù)、無(wú)電纜連接和防塵防水設(shè)計(jì),使其在各種工業(yè)自動(dòng)化場(chǎng)景中
    的頭像 發(fā)表于 07-10 16:36 ?943次閱讀
    工業(yè)<b class='flag-5'>計(jì)算機(jī)</b>與商用<b class='flag-5'>計(jì)算機(jī)</b>的區(qū)別有哪些

    Blue Lion超級(jí)計(jì)算機(jī)將在NVIDIA Vera Rubin上運(yùn)行

    德國(guó)萊布尼茨超算中心(LRZ)將迎來(lái)全新超級(jí)計(jì)算機(jī) Blue Lion,其算力比該中心現(xiàn)有的 SuperMUC-NG 高性能計(jì)算機(jī)提升了約 30 倍。這臺(tái)新的超級(jí)計(jì)算機(jī)將在 NVIDIA Vera Rubin 架構(gòu)上運(yùn)行。
    的頭像 發(fā)表于 06-12 15:39 ?1392次閱讀

    NVIDIA技術(shù)賦能歐洲最快超級(jí)計(jì)算機(jī)JUPITER

    NVIDIA 宣布,搭載 NVIDIA Grace Hopper 平臺(tái)的 JUPITER 超級(jí)計(jì)算機(jī)成為歐洲最快超級(jí)計(jì)算機(jī),其運(yùn)行 HPC 和 AI 工作負(fù)載的速度是第二名的兩倍以上。
    的頭像 發(fā)表于 06-12 15:33 ?1694次閱讀

    工業(yè)計(jì)算機(jī)如何設(shè)計(jì)用于沖擊和振動(dòng)

    工業(yè)計(jì)算機(jī)是為挑戰(zhàn)消費(fèi)級(jí)系統(tǒng)耐用性的環(huán)境而構(gòu)建的。在制造業(yè)、運(yùn)輸業(yè)、國(guó)防和采礦業(yè)等領(lǐng)域,計(jì)算機(jī)面臨著持續(xù)的沖擊、振動(dòng)和其他物理壓力。設(shè)計(jì)這些系統(tǒng)以在這種條件下保持可靠需要卓越的工程和創(chuàng)新技術(shù)。本文
    的頭像 發(fā)表于 05-19 15:27 ?639次閱讀
    工業(yè)<b class='flag-5'>計(jì)算機(jī)</b>如何設(shè)計(jì)用于沖擊和振動(dòng)
    胶南市| 磐安县| 兴义市| 桃园市| 乐安县| 尼玛县| 盈江县| 庆城县| 南靖县| 澎湖县| 休宁县| 酒泉市| 江源县| 施秉县| 永仁县| 龙江县| 海安县| 泰兴市| 乳山市| 青海省| 叙永县| 郴州市| 青神县| 上栗县| 阜城县| 承德市| 陆良县| 邛崃市| 延吉市| 唐山市| 玉龙| 桓台县| 台中县| 浦东新区| 应城市| 大理市| 千阳县| 洪江市| 错那县| 渝中区| 高清|