日韩电影一区,一级a毛片免费观看久久精品,亚洲人成网站日本片,亚洲精品亚洲人成在线观看麻豆

  • 在線客服

哈爾濱童程童美少兒編程培訓(xùn)南崗校區(qū)

人工智能編程、智能機器人編程、信息學(xué)奧賽輔導(dǎo)、樂高創(chuàng)意啟蒙培訓(xùn)

機構(gòu)課程咨詢服務(wù):
18310448124006005330

真正的代碼可讀性并不存在!但當(dāng)它真的發(fā)生時你會感覺到

童程童美少兒編程教育致力于打破經(jīng)濟門檻。學(xué)費10000-25000元,平均每堂課200-300元,確保編程教育對每個孩子都是可及的。我們通過網(wǎng)上公示機構(gòu)信息,構(gòu)建透明宣傳,幫助家長全面了解學(xué)校。擁有經(jīng)驗豐富的師資團隊,提供富有創(chuàng)意的學(xué)習(xí)環(huán)境,多地校區(qū)讓學(xué)生更輕松地融入學(xué)習(xí)。關(guān)注學(xué)生的實際成績和學(xué)習(xí)效果,積極收集學(xué)員家長的反饋,家長的正面評價是我們成功的佳體現(xiàn)。

較近經(jīng)常提出什么是代碼可讀性(通常作為神秘 DX 的一部分)的問題。越來越多的人開始說可讀性純粹是一個偏好問題。我不能責(zé)怪他們。經(jīng)過多年的發(fā)展,我們可能會認(rèn)為我們已經(jīng)完全有能力感知不同質(zhì)量、范式和語言的不同代碼。我們也可以習(xí)慣那些起初讓我們覺得不舒服的工具。并得出結(jié)論:一切都取決于經(jīng)驗!嗯,是的,也不是。

這是一把雙刃劍

佐丁較近表示:這種質(zhì)量有兩個目的——代碼的可讀性和可維護性如何,以及程序員的熟練程度如何

你知道,我對這個觀點有些滿意。它本可以就此打住,但后來 Tsodin 對程序員本身進行了更多的掩蓋,并將一切都簡化為廣義的“git gud”。

這個說法的問題在于,我們有點含蓄地說——任何代碼都是可讀的,只是你沒有足夠的技能!老實說:并非所有代碼本身都是可讀的。

哦,但是你能定義什么是可讀性嗎?

您可能經(jīng)常聽到這樣的問題:“您能定義可讀性嗎?不,不,不僅僅是可讀性,還有代碼可讀性,這是完全不同的,你知道。»

事實上,根據(jù)定義,可讀性分為多文字表現(xiàn)和文本的語言特征。但我們不是來評估字體或連字對代碼可讀性的貢獻,對嗎?

我們真正感興趣是代碼的語言方面:

  • 命名;
  • 句法結(jié)構(gòu)的復(fù)雜性;
  • 抽象程度;
  • ETC。

“是的,這些都是偏好。” 不,他們不是。因為代碼和文本之間有一個重要的區(qū)別:與文本不同,代碼有義務(wù)實現(xiàn)其意圖。文本是否達到其目的實際上并不那么重要。例如,作者試圖通過文本傳達的想法或概念。如果他們不喜歡,那么,這只是一個糟糕的文本。它仍然在那里,文字是相關(guān)的,只是不善于表達思想。但代碼必須解決預(yù)期的問題,否則它就是字面意義上的錯誤且不適用。不好≠錯誤。

所有這些可能使我們相信代碼可讀性實際上是一種復(fù)合現(xiàn)象:

  • 它包括問題的正確解決方案;
  • 它完整??地描述了工作算法(即,它實際上并沒有對我們的意圖撒謊;)
  • 并且這個解決方案的可讀性較大程度地與問題本身成正比。

代碼可讀性并不是你想象的那樣

請注意我們?nèi)绾螐?ldquo;代碼可讀性”切換到“解決方案可讀性”?我相信這是表征可讀性問題的主要特征:我們試圖在沒有上下文的情況下看待這個術(shù)語。當(dāng)我們嘗試判斷代碼的可讀性時,許多人主要判斷代碼本身,而不是它試圖解決的問題。這就是爭論開始的地方:過程性代碼比函數(shù)式代碼更具可讀性,聲明性代碼比命令性代碼更清晰,繼承與組合以及一堆其他流行語。

您的編碼風(fēng)格可能對您來說更具可讀性,但這并不意味著它可以形成可讀的解決方案。

現(xiàn)在,讓我們看一下非常簡單(mb 太簡單)的示例:

def calculate(bottom, top)
  return 0 if top < bottom
  sum = 0
  for number in bottom..top do
    next unless number % 2 == 0
    sum += number
  end
  sum
end

def calculate(bottom, top)
  (bottom..top).select(&:even?).sum
end

愚蠢的例子,對吧?但什么樣的代碼更具可讀性呢?你們中有些人會說兩者都非??勺x。但他們真的是這樣嗎?正如您可能希望的那樣,較好個選項顯然比第二個選項包含更多不必要的認(rèn)知負(fù)擔(dān)。第二個選項您可以從左到右逐字閱讀并理解代碼的意圖。在前者中,您必須將眼睛和上下文從一段代碼切換到另一段代碼。同時,你必須記住每次都要過濾你頭腦中的值,并記住*條件。

當(dāng)然,有些人可能會說他們不熟悉第二個示例中的語言結(jié)構(gòu)。這就是開發(fā)人員的經(jīng)驗發(fā)揮作用的地方。這是您必須“git gud”來了解可以應(yīng)用什么、如何應(yīng)用它,甚至是否將某些工具應(yīng)用于解決方案的地方。但每一個這樣的構(gòu)造、每一個模式、每一個范式都與問題無關(guān)。它只是為了幫助您解決問題。

我并不是想說函數(shù)式代碼更好。或者說越短越好。是的,這些例子看起來沒什么大不了的。但它們確實表明了我的主要觀點——在較好種情況下,我們強迫開發(fā)人員校對僅與解決問題間接相關(guān)的代碼。按條件提前返還?這是一個實現(xiàn)細節(jié),與要解決的問題無關(guān)。聲明一個帶有默認(rèn)值的變量?再說一遍,這和我們的問題有什么關(guān)系呢?循環(huán)內(nèi)的條件?又一個細節(jié)。即使循環(huán)本身也只是一個細節(jié)。代碼中的此類細節(jié)越多,它的可讀性就越差(而且很可能會如此)。

現(xiàn)在,你們中的一些人可能會說,這一切都取決于范式、語言結(jié)構(gòu)或開發(fā)人員的經(jīng)驗,或者通常這就是編程的要點!但你混淆了兩件不同的事情:

  • 固有的復(fù)雜性
  • 附帶復(fù)雜性

什么復(fù)雜性?

我簡單引用一下:

固有的復(fù)雜性——相關(guān)軟件試圖使實際問題變得更簡單、更好的難度。

附帶的復(fù)雜性——關(guān)于軟件的任何困難但不一定是困難的事情

附帶復(fù)雜性是由庫、框架、語言、范例、開發(fā)人員偏好等引入的。固有復(fù)雜性是為了解決所選領(lǐng)域的基本問題而必須做出的權(quán)衡。一個好的工程師會減少附帶的復(fù)雜性并嘗試接受和處理固有的復(fù)雜性。

所以不,如果您可以輕松理解#ifdefs每 5 行嵌套的代碼,或者您非常擅長閱讀 ruby?? 元編程,并使用 eval 將類成員委托給抽象上下文 - 這并不意味著該代碼是可讀的?;蛘咭苍S是這樣。但較終只有你學(xué)會了閱讀一堆偶然的復(fù)雜性。而且,總的來說,這沒有什么問題——這樣的代碼數(shù)量驚人,能夠理解它總比不理解好。但解決方案的可讀性與你無關(guān)

那么這不是一個偏好問題嗎?

為什么不?畢竟,代碼對您個人來說是否可讀取決于您的經(jīng)驗和偏好。

但您的偏好絕不會影響解決方案的復(fù)雜性和可讀性。例如,您需要使用分片實現(xiàn)緩存集群,并能夠基于跳躍一致哈希按大小和數(shù)量重新分片(這將導(dǎo)致項目重新分配)。所有這些都應(yīng)該即時發(fā)生,停機。當(dāng)然,還有緩存快照、正確的驅(qū)逐策略和高命中率!這個領(lǐng)域本身已經(jīng)夠復(fù)雜了,為什么還要增加更多的復(fù)雜性和問題,并稱之為別人的“技能問題”呢?老實說,這在某種程度上仍然是不可避免的。但只是在某種程度上。因為正確的解決方案之后的下一個目標(biāo)是盡可能減少附帶的復(fù)雜性和不必要的細節(jié)。所以,請停止通過偏好來證明難以掌握的代碼(而不是復(fù)雜的代碼)。

這完全取決于解決方案的可讀性。

課程列表 |機構(gòu)簡介
機構(gòu)地址:哈爾濱市 南崗區(qū)建設(shè)街
真正的代碼可讀性并不存在!但當(dāng)它真的發(fā)生時你會感覺到 請咨詢: 4006005330
免責(zé)聲明 | 版權(quán)/投訴舉報
匯上優(yōu)課

微信選課
享更多優(yōu)質(zhì)好課!

本頁面由主體*哈爾濱童程童美少兒編程培訓(xùn)南崗校區(qū)*自行上傳,本網(wǎng)不對該頁面內(nèi)容(包括但不限于文字、圖片)真實性和知識產(chǎn)權(quán)負(fù)責(zé),如有侵權(quán)請聯(lián)系處理刪除qq:16720809  。
亚洲精品色AV| 久色网站的| 亚洲成人精品短片| 久久亚洲综合| 日韩AV在线一区免费超清| 999AV在线精品| 人妻少妇系列| 欧美激情精品久久久久| 97cao视频| 色天使在线精品视频| 好看的电影自拍偷拍| 久久午夜无码免费| 日韩精品专区日日骚| 孩交视频在线观看| com欧美日韩| 日韩综合一区| 一区二区小黄片| 亚洲熟妇久久精品| 欧美亚洲精品系列| 日韩精品在线免费观看| 东北女人BBw| 狠狠 中文字幕| 日本天堂二区| 欧美极品欧美精品欧美视频| 亚洲五月丁香久久| 次,澳门毛片| 青草久久久伊人| 99久久精品免费观看国产| 精品人妻无码一区| 五月丁香欧美中文网| 在线更新你懂的| 东京热一精品无码av| 欧美日韩不卡一区二区| 丁香网欧美性爱| 精品乱子作一区=区| 伊人免费在线| 日韩亚洲欧美中文高清| 久久久kpd| 在线免费av影院| 正在播放亚洲清纯| 久久久91精品一区二区|