国产chinesehdxxxx老太婆,办公室玩弄爆乳女秘hd,扒开腿狂躁女人爽出白浆 ,丁香婷婷激情俺也去俺来也,ww国产内射精品后入国产

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

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

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

詳談命令式代碼和聲明式代碼的區(qū)別和編碼風(fēng)格

如意 ? 來(lái)源:今日頭條 ? 作者:杭州程序員小張 ? 2020-09-04 10:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

你的日常工作中應(yīng)該使用哪種編碼風(fēng)格?讓我們討論一下你應(yīng)該選擇哪個(gè)以及為什么。

在日常工作中,你應(yīng)該努力實(shí)現(xiàn)什么樣的編碼方式?

這是一個(gè)在編程中不常被問(wèn)到的問(wèn)題,但這是一個(gè)重要的問(wèn)題。

首先讓我們來(lái)談?wù)勀阍谡麄€(gè)編程生涯中想要避免的一種編碼風(fēng)格,無(wú)論你只是為自己或?yàn)樗司帉?xiě)代碼。

什么是命令式和聲明式代碼?

我們可以把我們寫(xiě)代碼的方式歸為傾向于兩種風(fēng)格中的一種。

要說(shuō)明的是,一個(gè)人的代碼從來(lái)不會(huì)嚴(yán)格地歸為一類(lèi)或另一類(lèi),但它是一種有用的方式,指的是我們的代碼方式,根據(jù)誰(shuí)或什么最適合。

編寫(xiě)的代碼有兩種,稱(chēng)為命令式代碼或聲明式代碼。這些聽(tīng)起來(lái)很復(fù)雜的詞代表了非常簡(jiǎn)單的概念:命令式代碼是指我們編寫(xiě)的代碼更適合計(jì)算機(jī),而聲明式代碼是指對(duì)人更容易讀懂的代碼。

更具體地說(shuō),命令式代碼是指我們告訴JavaScript(或任何你正在編碼的語(yǔ)言)要做什么以及如何做。

命令式代碼以及為什么應(yīng)避免使用它

命令式編碼是你應(yīng)該避免的一種樣式。

假設(shè)我們有很多人想寫(xiě)一個(gè)生日派對(duì)的邀請(qǐng)。先創(chuàng)建我們的人員列表。

接下來(lái),我們也要保存每個(gè)書(shū)面邀請(qǐng),因此我們?yōu)橐胖玫难?qǐng)函(invitations)創(chuàng)建一個(gè)邀請(qǐng)數(shù)組。

詳談命令式代碼和聲明式代碼的區(qū)別和編碼風(fēng)格

你可能已經(jīng)猜到了,我們需要遍歷此數(shù)組以實(shí)現(xiàn)我們的目標(biāo)。首先,我們將按照J(rèn)avaScript生命周期中大部分時(shí)間都需要使用的方式:使用for循環(huán)。如下:

詳談命令式代碼和聲明式代碼的區(qū)別和編碼風(fēng)格

根據(jù)我提到的步驟,我們要對(duì)一個(gè)數(shù)組進(jìn)行循環(huán)(迭代),得到每一個(gè)元素,一個(gè)人的名字,我們將其添加到一個(gè)消息(上面的字符串)中,然后將其添加到一個(gè)新的數(shù)組中。

但是代碼講的是同樣的故事嗎?

如果我們要讀這段代碼,我們是將一個(gè)變量 i 設(shè)置為0,檢查它是否小于數(shù)組的當(dāng)前長(zhǎng)度,在 i 上加1,將數(shù)組的第 i 個(gè)值賦值為一個(gè)字符串,并將其放在新數(shù)組的相同索引中。

這些都是必須的,我們告訴JavaScript做什么和怎么做。所有這些代碼都是正確的。

如果我們運(yùn)行它,我們將收到所有消息,就像我們想要的一樣。

然而,你對(duì)這段代碼的第一直覺(jué)(就像我們?cè)S多人第一次看到for循環(huán)一樣)可能是它看起來(lái)不太對(duì)。

盡管如此,它無(wú)疑是該語(yǔ)言生命周期中最流行的遍歷數(shù)組的方式。然而,閱讀和記憶是必要的和具有挑戰(zhàn)性的。

聲明式代碼以及為什么要以聲明式風(fēng)格編寫(xiě)

如果我們以聲明性的方式編寫(xiě)它,那會(huì)是什么樣?

聲明式代碼則不同。正如名稱(chēng)所示,我們用它來(lái)聲明我們想要完成的內(nèi)容,JavaScript會(huì)完成它——就這么簡(jiǎn)單。

換句話(huà)說(shuō),它對(duì)我們?nèi)祟?lèi)是可讀的,而不僅僅是對(duì)計(jì)算機(jī)。事實(shí)上,它對(duì)其他開(kāi)發(fā)者的可讀性正是我們?cè)噲D用更多的聲明式寫(xiě)作所追求的。

讓我們用一種你可能一開(kāi)始就想使用的風(fēng)格重寫(xiě)我們的代碼,如果你熟悉很多JavaScript有用的數(shù)組方法的話(huà)。

這是為一系列人員創(chuàng)建一系列邀請(qǐng)的一種(多種)聲明式方法。

const invitations = people.map((person) =》 `Hi ${person}, come to my party!`);

這一切都在一條線(xiàn)上,但同時(shí)也更容易理解。它更加簡(jiǎn)潔,易于書(shū)寫(xiě)(和記憶),同時(shí)又非常清晰。

這就是追求聲明式代碼風(fēng)格所能提供的。

與第一個(gè)例子不同的是,我們不需要?jiǎng)?chuàng)建任何混亂的變量(如 i),也不需要告訴JavaScript如何通過(guò)數(shù)組。我們只需對(duì)數(shù)組進(jìn)行映射(或迭代),將每個(gè)人的名字添加到我們的邀請(qǐng)函中,然后返回給我們。

最后

那么我們想用哪種方式編寫(xiě)代碼?

讓我們回顧一下我們的示例:特別是當(dāng)我們第一次查看這段代碼時(shí),什么更容易理解?什么更令人難忘?

隨著時(shí)間的推移,我們都不得不回顧如何編寫(xiě)for循環(huán),因?yàn)檫@是必要的。為了我們和其他人,聲明式風(fēng)格是我們想要追求的。這看似一個(gè)令人困惑的概念,但是我們之所以要區(qū)分,是因?yàn)橐粋€(gè)重要原因:我們編寫(xiě)代碼的方式應(yīng)該是為閱讀和使用代碼的人量身定做的,而不是計(jì)算機(jī)。

仔細(xì)檢查和重讀你的代碼,以確保其可讀性和理解性,就像你寫(xiě)一篇文章一樣,你希望每個(gè)人都能理解你的代碼,甚至是非程序員,并努力使你的代碼更具聲明式的做法。

它不僅能幫助周?chē)娜?,還能幫助你自己,尤其是當(dāng)你在多年后重新審視代碼時(shí),你早已忘記了它的作用。
責(zé)編AJX

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

    關(guān)注

    14

    文章

    412

    瀏覽量

    36882
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    737

    瀏覽量

    22886
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2953

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    養(yǎng)成良好的嵌入C代碼編碼習(xí)慣要遵循哪些規(guī)則?

    養(yǎng)成良好的嵌入C代碼編碼習(xí)慣要遵循哪些規(guī)則?Cortex-M這類(lèi)微控制器編程通常采用C代碼,那么編程人員如何編寫(xiě)代碼才能讓C編譯器產(chǎn)生高質(zhì)
    發(fā)表于 04-04 17:14

    嵌入工程師是如何養(yǎng)成良好的C代碼編碼習(xí)慣?

    。2)避免使用大的聚合類(lèi)型(比如結(jié)構(gòu)體)作為參數(shù)或者返回類(lèi)型。為了節(jié)省??臻g,我們應(yīng)該更多的使用指針來(lái)代替這種聚合類(lèi)型。三、函數(shù)原型有兩種函數(shù)的定義和聲明方式可以使用。一種是原型風(fēng)格,一種
    發(fā)表于 09-04 07:30

    Linux內(nèi)核編碼風(fēng)格(編程代碼風(fēng)格推薦)

    現(xiàn)編碼素質(zhì)的重要性。相反沒(méi)有良好的風(fēng)格代碼讀起來(lái)難看、晦澀,甚至有時(shí)候一個(gè)括號(hào)沒(méi)對(duì)齊就能造成對(duì)程序的曲解或者不理解。我曾經(jīng)就遇見(jiàn)過(guò)這樣的情況,花費(fèi)了很多不必要的時(shí)間在程序的上下文對(duì)照上,還debug了
    發(fā)表于 08-24 09:45

    Hello HarmonyOS學(xué)習(xí)筆記:分布新聞客戶(hù)端實(shí)戰(zhàn)(JS、eTS)

    手動(dòng)查找ID,響應(yīng)和聲明是自動(dòng)的2、代碼量逐漸變少由此可見(jiàn),使用聲明UI可有效減少
    發(fā)表于 06-23 20:08

    Altera代碼風(fēng)格講義--作者:駿龍小馬

    一個(gè)講解Altera代碼風(fēng)格的講義,適合初學(xué)者看看,verilog的代碼風(fēng)格
    發(fā)表于 11-17 18:07 ?0次下載

    基于棧編碼的惡意代碼分類(lèi)算法

    針對(duì)傳統(tǒng)機(jī)器學(xué)習(xí)方法不能有效地提取惡意代碼的潛在特征,提出了基于棧編碼( stacked auto en-coder,SAE)的惡意代碼分類(lèi)算法。其次從大量訓(xùn)練樣本中學(xué)習(xí)并提取惡意
    發(fā)表于 01-16 17:19 ?0次下載
    基于棧<b class='flag-5'>式</b>自<b class='flag-5'>編碼</b>的惡意<b class='flag-5'>代碼</b>分類(lèi)算法

    嵌入代碼之編寫(xiě)規(guī)范

    嵌入代碼編碼規(guī)范,用于規(guī)范自己的代碼,增強(qiáng)可讀性,非標(biāo)準(zhǔn)規(guī)范。最好能強(qiáng)制自己形成良好的編碼風(fēng)格
    的頭像 發(fā)表于 04-26 15:21 ?5641次閱讀

    增量編碼器與絕對(duì)編碼器的區(qū)別

    本文主要闡述了增量編碼器與絕對(duì)編碼器的區(qū)別。
    的頭像 發(fā)表于 11-06 14:56 ?6.4w次閱讀

    關(guān)于Linux的內(nèi)核代碼風(fēng)格

    從而導(dǎo)致的問(wèn)題。因?yàn)楫?dāng)時(shí)代碼量不大,所以解決問(wèn)題的時(shí)間相對(duì)較少。在代碼量增大的情況下可以借助工具進(jìn)行自動(dòng)修改。 快速修改編碼風(fēng)格的工具 scripts/checkpatch.pl 這是
    的頭像 發(fā)表于 04-25 14:50 ?2081次閱讀

    如何修改Linux內(nèi)核代碼風(fēng)格?

    編碼風(fēng)格錯(cuò)誤開(kāi)始 快速修改編碼風(fēng)格的工具 scripts/checkpatch.pl scripts/Lindent astyle Linux 內(nèi)核
    的頭像 發(fā)表于 05-13 11:27 ?1991次閱讀

    剖析什么是C語(yǔ)言中的隱函數(shù)聲明

    「1、什么是C語(yǔ)言的隱函數(shù)聲明」 在C語(yǔ)言中,函數(shù)在調(diào)用前不一定非要聲明。如果沒(méi)有聲明,那么編譯器會(huì)自動(dòng)按照一種隱
    的頭像 發(fā)表于 05-25 09:38 ?4310次閱讀
    剖析什么是C語(yǔ)言中的隱<b class='flag-5'>式</b>函數(shù)<b class='flag-5'>聲明</b>

    C語(yǔ)言代碼風(fēng)格

    個(gè)人代碼風(fēng)格記錄此文將看到的一些好的代碼風(fēng)格規(guī)范總結(jié)起來(lái),作為自己以后寫(xiě)代碼時(shí)的參考。命名業(yè)界流行的3種命名
    發(fā)表于 01-13 13:13 ?1次下載
    C語(yǔ)言<b class='flag-5'>代碼</b><b class='flag-5'>風(fēng)格</b>

    什么樣的Verilog代碼風(fēng)格是好的風(fēng)格?

    寫(xiě)代碼是給別人和多年后的自己看的。 關(guān)于Verilog代碼設(shè)計(jì)的一些風(fēng)格和方法之前也寫(xiě)過(guò)一些Verilog有什么奇技淫巧?
    的頭像 發(fā)表于 10-24 15:23 ?1961次閱讀

    Verilog編碼風(fēng)格的建議

    良好的編碼風(fēng)格,有助于代碼的閱讀、調(diào)試和修改。雖然 Verilog 代碼可以在保證語(yǔ)法正確的前提下任意編寫(xiě),但是潦草的編碼
    的頭像 發(fā)表于 06-01 16:27 ?1012次閱讀
    Verilog<b class='flag-5'>編碼</b><b class='flag-5'>風(fēng)格</b>的建議

    光纖絕對(duì)和光纖增量編碼器的區(qū)別

    絕對(duì)編碼器和增量編碼器二者有什么區(qū)別呢?分別有什么特征,適合什么樣的應(yīng)用呢?歡迎閱讀文章了解~
    的頭像 發(fā)表于 05-15 10:43 ?761次閱讀
    光纖絕對(duì)<b class='flag-5'>式</b>和光纖增量<b class='flag-5'>式</b><b class='flag-5'>編碼</b>器的<b class='flag-5'>區(qū)別</b>