欧美亚洲综合图区在线|天天射天天干国产成卜|99久久免费国产精精品|国产的欧美一区二区三区|日韩中文字幕无码不卡专区|亚麻成人aV极品一区二区|国产成人AV区一区二区三|成人免费一区二区三区视频网站

當前位置:首頁 > 軟件開放 > 正文內(nèi)容

怎么優(yōu)化代碼(怎么優(yōu)化代碼減少cpu占用率)

軟件開放11個月前 (04-05)396

編寫代碼容易,但編寫優(yōu)秀代碼卻是一項挑戰(zhàn)。采納基本編程原則是確保編寫高質(zhì)量代碼的穩(wěn)妥途徑,無論軟件項目規(guī)模大小,都能保證代碼高效、易讀、可靠、安全且易維護。

糟糕的代碼有多種形式:雜亂、龐大的if-else鏈、不可靠的程序、變量命名不合理等等。如何編寫有效代碼?需要有紀律和目的。以下是讓您成為更好的編程人員的核心編程原則。

1、保持簡潔明了 Keep It Simple, Stupid (KISS)

怎么優(yōu)化代碼(怎么優(yōu)化代碼減少cpu占用率)

這聽起來有點苛刻,但在編寫計算機代碼時,這是最重要的原則之一。KISS是什么意思?

它意味著你應(yīng)該盡可能簡單地編寫代碼?;揪幊桃?guī)則之一是不要陷入過于巧妙的陷阱,或用一大段高級代碼來炫耀。如果能用一行代碼編寫腳本,就用一行代碼。

這是一個簡單的函數(shù):

相當簡單。易于閱讀,了解發(fā)生了什么。

這種精神中的一個編程原則是使用清晰的變量名稱。充分利用編碼庫并使用現(xiàn)有工具。六個月后回來工作時更容易。保持簡單將會在很大程度上避免不必要的困擾。

2、編寫DRY代碼

“不要重復(fù)自己”(DRY)編程原則意味著,簡單地說,不要重復(fù)代碼。這是一個常見的編程錯誤。編寫代碼時,避免重復(fù)數(shù)據(jù)或邏輯。如果你曾經(jīng)在程序中復(fù)制并粘貼代碼,那么這不是DRY代碼。

看看這個腳本:

與其復(fù)制行,不如找到一個使用循環(huán)的算法。

DRY代碼易于維護。調(diào)試一個處理50次重復(fù)的循環(huán)比調(diào)試50個處理一次重復(fù)的代碼塊更容易。

展開全文

3、Open/Closed原則

按照良好的編程原則進行工作將使您的工作更加高效。

這種編程原則意味著你應(yīng)該使你的代碼可擴展但不可修改。這確保了即使需求改變,也不需要修改代碼。這是在發(fā)布其他人將使用的庫或框架時的重要原則。

例如,假設(shè)您正在維護一個GUI框架。您可以發(fā)布一個版本供程序員修改并直接集成您發(fā)布的代碼。然而,當您在四個月后發(fā)布一個重要更新時會發(fā)生什么呢?

他們的代碼會崩潰。這可能會使你的同事非常不高興。無論以前它有多么有用,他們以后都不想再使用你的庫了。

相反,發(fā)布代碼阻止直接修改并鼓勵擴展。像這樣的基本編程原則將核心行為與修改行為分離。代碼更穩(wěn)定,更易于維護。

4、組合優(yōu)于繼承

如果你使用面向?qū)ο缶幊叹帉懘a,那么這個編程原則對你會非常有用。組合優(yōu)于繼承的原則指出,具有復(fù)雜行為的對象應(yīng)包含具有單個行為的對象實例。它們不應(yīng)該繼承一個類并添加新的行為。

依賴繼承會引發(fā)兩個主要問題。首先,繼承層次結(jié)構(gòu)可能會變得非?;靵y。其次,你在定義特殊情況行為時有更少的靈活性。假設(shè)你想實現(xiàn)分享行為:偏向簡單的編程原則通常為更有效的最終結(jié)果鋪平道路。

組合編程更易于編寫、更易于維護,并允許定義靈活的行為。每個單獨的行為都是它自己的類。通過組合單個行為可以創(chuàng)建復(fù)雜行為。

5、單一責(zé)任原則

編碼原則都有一個共同的目標:由更有經(jīng)驗的程序員編寫更優(yōu)質(zhì)的代碼。

單一責(zé)任原則規(guī)定程序中的每個類或模塊應(yīng)只提供一個特定的功能。正如羅伯特·C·馬丁所說:“一個類應(yīng)該只有一個變化的原因。”

類和模塊通常從這樣的方式開始。小心,不要在類變得更復(fù)雜時增加過多的責(zé)任。重構(gòu)并將它們分解為更小的類和模塊。

過度加載類的后果是雙重的。首先,在嘗試隔離某個模塊進行故障排除時會使調(diào)試變得復(fù)雜。其次,為特定模塊創(chuàng)建附加功能會變得更加困難。良好的編程原則可以在問題出現(xiàn)前阻止這些問題。

6、關(guān)注點分離

關(guān)注點分離的概念是單一責(zé)任原則的抽象版本。這個理念指出你應(yīng)該設(shè)計具有不同部分的程序,并且這些部分不應(yīng)相互訪問。

這的一個知名例子是模型-視圖-控制器(MVC)設(shè)計。MVC將程序分成三個不同的區(qū)域:數(shù)據(jù)(模型)、邏輯(控制器)和頁面顯示內(nèi)容(視圖)。MVC的變體在當今最流行的網(wǎng)絡(luò)框架中很常見。

例如,處理數(shù)據(jù)庫的代碼不需要知道如何在瀏覽器中渲染數(shù)據(jù)。渲染代碼接收來自用戶的輸入,但邏輯代碼處理處理過程。每段代碼都是完全獨立的。

其結(jié)果是易于調(diào)試的代碼。如果您需要重寫渲染代碼,您可以這樣做而不必擔(dān)心數(shù)據(jù)如何保存或邏輯如何處理。

7、你不會需要它(YAGNI)

有些編碼原則比其他原則更直接。

這個原則意味著你不應(yīng)為了未來可能需要的功能而編寫代碼。計算機編程中最重要的原則之一是不要試圖解決不存在的問題。

為了編寫DRY代碼,程序員可能會違反這個原則。通常,缺乏經(jīng)驗的程序員試圖編寫最抽象和最通用的代碼。然而,過度抽象會導(dǎo)致臃腫的代碼,難以維護。

只有在需要時應(yīng)用DRY編程原則;如果您注意到代碼一遍又一遍地寫,實現(xiàn)一層抽象。不要犧牲當前代碼的批次來考慮太遠的未來。

8、文檔化你的代碼

在談?wù)摼幋a原則時,很容易忘記最終可能會查看代碼的人。

任何資深開發(fā)人員都會強調(diào)使用適當?shù)淖⑨層涗洿a的重要性。所有的編程語言都提供了注釋的方式;你應(yīng)該養(yǎng)成編寫注釋的習(xí)慣。留下注釋以解釋對象、增強變量定義以及讓函數(shù)更易于理解。

以下是一個帶有注釋的 Java 函數(shù),指導(dǎo)你了解代碼:

在編碼時留下注釋需要一些額外的工作。這需要時間,并會分散你對實際工作的注意力。你對自己的代碼相當了解,對吧?誰會在乎呢?但值得記住的是,即使在技術(shù)領(lǐng)域,也沒有什么是可以被丟棄的。最終的計算機編程原則是什么,如果對面的人最終迷失了方向?

我們建議你多走一步,在你擔(dān)心事情會變得混亂或不清晰的地方留下注釋,特別是在與他人合作時。不要強迫其他開發(fā)人員去解讀你的語法,以免讓他們感到沮喪。

試著寫一個程序,放置六個月不動,然后返回修改它。你會慶幸你記錄了你的程序,而不是不得不研究每個函數(shù)來記住它的工作方式。

9、重構(gòu)

這個編程原則鼓勵你始終以全新的視角審視你的工作。

很難接受,但你的代碼不會一開始就是完美的。重構(gòu)代碼意味著審查你的代碼,尋找優(yōu)化的方法,使其更高效,同時保持結(jié)果完全相同。這是編寫更清潔和高質(zhì)量代碼的考慮。

代碼庫不斷發(fā)展。編程原則之一是記住,重新審視、重寫甚至重新設(shè)計整塊代碼是完全正常的。

這并不意味著你第一次寫程序時失敗了;隨著時間的推移,你不可避免地會更加熟悉項目。利用這些知識隨著你的進步進行調(diào)整。

10、一切代價都要編寫清晰的代碼

除了所有基本的編程原則外,把你的自我留在一邊,忘記編寫過于聰明的代碼。當我們說這句話時,我們指的是那種看起來更像是謎語而不是解決方案的代碼。你編碼不是為了給陌生人留下深刻印象。你從事這個職業(yè)是為了解決問題。

不要試圖把大量邏輯塞進一行代碼中。在你的注釋和文檔中留下清晰的說明。如果你的代碼易于閱讀,通常也易于維護。

優(yōu)秀的程序員和可讀性高的代碼是相輔相成的。當必要時留下注釋,遵循代碼風(fēng)格指南,并盡可能地站在下一個人的角度考慮。

學(xué)習(xí)計算機編程原則,成為一名優(yōu)秀的程序員

學(xué)習(xí)如何成為一名優(yōu)秀的程序員需要花費相當多的時間和精力。這些基本編程規(guī)則是成為專業(yè)程序員的路線圖。遵循這些歷久不衰的原則,你將為未來的編程生涯奠定成功的基礎(chǔ)。

LINUX迷公眾號

感謝 Linux迷 www.linuxmi.com 的精彩分享。

需要Linux 精美藝術(shù)壁紙和免費編程及Linux 教程(PDF版)的朋友請加小編微信linuxgs(口令linuxmi)。

需要邀請碼的也請加小編微信linuxgs(口令:邀請碼)。

來自:Linux迷

鏈接:https://www.linuxmi.com/programming-basic-principles.html

關(guān)注我們

Linux公社

關(guān)注 Linux公社,添加“ 星標 ”

每天 獲取 技術(shù)干貨,讓我們一起成長

合作聯(lián)系:root@linuxidc.net

關(guān)注我們

Linux公社

關(guān)注 Linux公社,添加“ 星標 ”

每天 獲取 技術(shù)干貨,讓我們一起成長

合作聯(lián)系:root@linuxidc.net

掃描二維碼推送至手機訪問。

版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。

本文鏈接:http://www.landcheck.net/post/102906.html

“怎么優(yōu)化代碼(怎么優(yōu)化代碼減少cpu占用率)” 的相關(guān)文章

app開發(fā)費用一覽表(app開發(fā)費用一覽表下載)

app開發(fā)費用一覽表(app開發(fā)費用一覽表下載)

今天給各位分享app開發(fā)費用一覽表的知識,其中也會對app開發(fā)費用一覽表下載進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、手機app開發(fā)費用 2、app開發(fā)費用一覽表 3、開發(fā)app所需的各種費用有哪些? 4、開發(fā)一個app需多少錢 5、a...

軟件開發(fā)項目流程(軟件項目開發(fā)管理流程)

軟件開發(fā)項目流程(軟件項目開發(fā)管理流程)

本篇文章給大家談?wù)勡浖_發(fā)項目流程,以及軟件項目開發(fā)管理流程對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、軟件開發(fā)過程一般有幾個階段 2、軟件開發(fā)的基本流程包括哪些 3、軟件開發(fā)流程 軟件開發(fā)過程一般有幾個階段 軟件開發(fā)的生命周期一般分為6個階段:計劃、需求分...

建網(wǎng)站建設(shè)(網(wǎng)站建設(shè)建站在線建站)

建網(wǎng)站建設(shè)(網(wǎng)站建設(shè)建站在線建站)

今天給各位分享建網(wǎng)站建設(shè)的知識,其中也會對網(wǎng)站建設(shè)建站在線建站進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、怎么建設(shè)網(wǎng)站方法教給你 2、請問一下網(wǎng)站建設(shè)的建站流程有哪些呢? 3、網(wǎng)站建設(shè)包括哪些內(nèi)容 4、怎么進行網(wǎng)站建設(shè)?。?5、網(wǎng)站建設(shè)一...

微信小程序跨境電商(微信小程序做跨境電商)

微信小程序跨境電商(微信小程序做跨境電商)

今天給各位分享微信小程序跨境電商的知識,其中也會對微信小程序做跨境電商進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、至臻小程序是正品嗎 2、如何說明跨境電商市場潛力大 3、騰訊小鵝拼拼上線不到兩年就要關(guān)停 4、優(yōu)時通奶粉是正品嗎 至臻小程序是...

木馬軟件怎么盜取通訊錄(木馬軟件怎么盜取通訊錄信息)

木馬軟件怎么盜取通訊錄(木馬軟件怎么盜取通訊錄信息)

本篇文章給大家談?wù)勀抉R軟件怎么盜取通訊錄,以及木馬軟件怎么盜取通訊錄信息對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、手機微信掃描二維碼木馬病毒,通訊錄信息會被盜嗎 2、現(xiàn)在騙子通過一個軟件能把手機上全部號碼盜走嗎 3、詐騙軟件能獲取微信通訊錄 4、當心手機...

國家商標免費查詢官網(wǎng)入口(國家商標網(wǎng)網(wǎng)上查詢)

國家商標免費查詢官網(wǎng)入口(國家商標網(wǎng)網(wǎng)上查詢)

本篇文章給大家談?wù)剣疑虡嗣赓M查詢官網(wǎng)入口,以及國家商標網(wǎng)網(wǎng)上查詢對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、商標網(wǎng)查詢?nèi)肟?2、商標免費查詢?nèi)肟?3、商標局官網(wǎng)商標查詢? 商標網(wǎng)查詢?nèi)肟?商標查詢 ;bd_vid=6628772045007563163國家...