chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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)不再提示

軟件開(kāi)發(fā)七大原則與策略分享 軟件開(kāi)發(fā)的最流行的規(guī)律和原則

jf_ro2CN3Fa ? 來(lái)源:技術(shù)瑣話(huà) ? 作者:技術(shù)瑣話(huà) ? 2022-10-10 16:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 帕累托法則(80/20 法則)

2 破窗定律

3 奧卡姆剃刀(簡(jiǎn)約法則)

4 鄧寧-克魯格效應(yīng)

5 彼得原理

6 帕金森定律

7 霍夫施塔特定律

8 康威定律

9 墨菲定律

10 布魯克定律

11 波斯特定律

12 克奇霍夫原理

13 萊納斯(Linus)定律

14 沃斯定律

15 克努斯的優(yōu)化原則

16 保持懷疑

人們?cè)趪@軟件開(kāi)發(fā)的討論中,幾乎不可避免會(huì)隨口引用一兩條原則。

你可能聽(tīng)過(guò)人們說(shuō):“這行不通,因?yàn)椤甔法則’!”。或者“你不知道‘Y原則’嗎?”你是哪種類(lèi)型的軟件開(kāi)發(fā)人員?

有許多規(guī)律和原則可以引用,其中大部分都基于真理。然而,盲目地使用像上面這樣的絕對(duì)陳述來(lái)應(yīng)用它們肯定會(huì)導(dǎo)致自負(fù)和失敗。

本文列舉了一些可以應(yīng)用于軟件開(kāi)發(fā)的最流行的規(guī)律和原則。對(duì)于每條定律,我們將快速討論其主要內(nèi)容,然后探討如何將其應(yīng)用于軟件開(kāi)發(fā)(也許何時(shí)不應(yīng)該)。

1 帕累托法則(80/20 法則)

內(nèi)容

帕累托法則指出,通常 80% 的結(jié)果來(lái)自 20% 的原因。數(shù)字 80 和 20 無(wú)論如何都不是精確的,但該原則的總體思路是結(jié)果通常分布不均。

我們可以看到生活的許多領(lǐng)域遵守著這條規(guī)則,例如:

世界上最富有的 20% 的人創(chuàng)造了世界 80% 的收入。

80% 的犯罪是由 20%的罪犯所為(自 2020 年以來(lái))。

我們知道 80% 的病毒傳播來(lái)自 20% 的受感染人群。

如何應(yīng)用在軟件開(kāi)發(fā)中?

我們可以從帕累托法則中獲得的主要好處是專(zhuān)注。它可以幫助我們專(zhuān)注于重要的事情(20%),而不是在不重要的事情(其他 80%)上浪費(fèi)時(shí)間和精力。不重要的事情對(duì)我們來(lái)說(shuō)往往很重要,因?yàn)檫@樣的事情總是有太多(而且看起來(lái)很緊急) 。但是最好的結(jié)果往往是通過(guò)關(guān)注重要的少數(shù)來(lái)達(dá)成的。

在軟件開(kāi)發(fā)中,我們可以使用它來(lái)專(zhuān)注于構(gòu)建正確的功能,例如:

專(zhuān)注于實(shí)現(xiàn) 80% 產(chǎn)品價(jià)值的那 20% 的產(chǎn)品功能。

專(zhuān)注于導(dǎo)致 80% 用戶(hù)使用異常的那 20% 的錯(cuò)誤。

專(zhuān)注于實(shí)現(xiàn) 80% 的產(chǎn)品功能需要的那 20%總構(gòu)建時(shí)間

……

只要問(wèn)“現(xiàn)在最重要的事情是什么?”就可以幫助建立下一個(gè)最重要的事情,而不是下一個(gè)最緊急的事情。

順便說(shuō)一下,敏捷和 DevOps 等現(xiàn)代開(kāi)發(fā)方法有助于獲得這種關(guān)注!具有定期用戶(hù)反饋的快速迭代允許對(duì)重要事項(xiàng)進(jìn)行數(shù)據(jù)驅(qū)動(dòng)的決策。諸如基于主干的帶有功能標(biāo)記的開(kāi)發(fā)之類(lèi)的實(shí)踐可以幫助軟件團(tuán)隊(duì)實(shí)現(xiàn)這一目標(biāo)。

2 破窗定律

內(nèi)容

破碎的窗戶(hù)會(huì)招致破壞,因此很快所有窗戶(hù)都被打破。

一般來(lái)說(shuō):混亂會(huì)招致更多的混亂。

如果我們的環(huán)境是原始的,我們就會(huì)有動(dòng)力保持這種狀態(tài)。環(huán)境中的混亂越多,我們添加混亂的門(mén)檻就越低。畢竟已經(jīng)混亂了……誰(shuí)在乎我們是否再添加一點(diǎn)呢?

我們可以從這條規(guī)則中獲得的主要好處是我們應(yīng)該意識(shí)到我們周?chē)幕靵y。如果它已經(jīng)到了人們習(xí)慣于不再關(guān)心它的程度,那么最好為混亂帶來(lái)一些秩序。

如何應(yīng)用在軟件開(kāi)發(fā)中?

在軟件開(kāi)發(fā)中,我們可以將其應(yīng)用于代碼質(zhì)量:我們引入代碼庫(kù)的每一種代碼異味(Code Smell)都會(huì)降低我們添加更多代碼異味的門(mén)檻。我們應(yīng)該 [[Start Clean]] 并保持代碼庫(kù)干凈以避免這種情況發(fā)生。許多代碼庫(kù)如此難以理解和維護(hù)的原因是,破窗已經(jīng)悄然出現(xiàn)并且沒(méi)有足夠快地修復(fù)。

我們也可以將這個(gè)原則應(yīng)用到測(cè)試覆蓋率上:一旦有一定數(shù)量的代碼進(jìn)入了未被測(cè)試覆蓋的代碼庫(kù),就會(huì)添加更多未被覆蓋的代碼。這是保持 100% 代碼覆蓋率(應(yīng)該覆蓋的代碼的)的論據(jù),因此我們可以在窗口破裂之前看到裂縫。

3 奧卡姆剃刀(簡(jiǎn)約法則)

內(nèi)容

哲學(xué)剃刀是一種通過(guò)消除(或“削除”)不太可能的假設(shè)來(lái)幫助解釋某些事情的原則。奧卡姆剃刀表示,如果有多個(gè)假設(shè),我們應(yīng)該選擇假設(shè)條件最少的假設(shè)(這很可能是解釋最簡(jiǎn)單的假設(shè))。

如何應(yīng)用在軟件開(kāi)發(fā)中?

我們可以在事件分析中應(yīng)用奧卡姆剃刀。你可能遇到過(guò)這樣的情況:用戶(hù)報(bào)告了你的應(yīng)用程序存在問(wèn)題,但你不知道導(dǎo)致問(wèn)題的原因。因此,你正在搜索日志和指標(biāo),試圖找到根本原因。

下次用戶(hù)報(bào)告錯(cuò)誤時(shí),請(qǐng)維護(hù)事件調(diào)查文檔。寫(xiě)下你對(duì)導(dǎo)致問(wèn)題的原因的假設(shè)。然后,對(duì)于每個(gè)假設(shè),列出事實(shí)和猜想。如果假設(shè)被證明是正確的,則將其標(biāo)記為事實(shí)。如果一個(gè)假設(shè)被證明是錯(cuò)誤的,請(qǐng)將其從文檔中刪除或?qū)⑵錁?biāo)記為錯(cuò)誤。在任何時(shí)候,你現(xiàn)在都可以將時(shí)間集中在最可能的假設(shè)上,而不是浪費(fèi)時(shí)間轉(zhuǎn)移注意力。

4 鄧寧-克魯格效應(yīng)

內(nèi)容

鄧寧-克魯格效應(yīng)表明,沒(méi)有經(jīng)驗(yàn)的人往往會(huì)高估自己的能力,而有經(jīng)驗(yàn)的人往往會(huì)低估自己的能力。

你不擅長(zhǎng)某件事,但你會(huì)認(rèn)為你擅長(zhǎng)它。如果你擅長(zhǎng)某事,你認(rèn)為你不擅長(zhǎng) - 這可能導(dǎo)致冒名頂替綜合癥,這讓你懷疑自己的能力,以至于你在其他具有相似技能的人中感到不舒服 (害怕別人認(rèn)為你說(shuō)的不正確)。

如何應(yīng)用在軟件開(kāi)發(fā)中?

意識(shí)到這種認(rèn)知偏差已經(jīng)是朝著正確方向邁出的良好一步。它將幫助你更好地評(píng)估自己的技能,以便你可以尋求幫助,或者克服自我懷疑并自己行動(dòng)。

有助于消除鄧寧-克魯格效應(yīng)和冒名頂替綜合癥的一種做法是結(jié)對(duì)或群體編程。你不是獨(dú)自工作,沉浸在自我懷疑或優(yōu)越感中,而是與其他人密切合作,邊工作邊交流思想、學(xué)習(xí)和教學(xué)。

不過(guò),這只適用于安全的環(huán)境。在個(gè)人主義被美化的環(huán)境中,結(jié)對(duì)或群體編程會(huì)導(dǎo)致更多的自我懷疑或更多的優(yōu)越感妄想。

5 彼得原理

內(nèi)容

彼得原理指出,只要你在工作中表現(xiàn)出色,你就會(huì)得到晉升,直到你晉升得到一份你不稱(chēng)職的工作。由于你不再成功,你將不再獲得晉升,這意味著你將生活在一份不會(huì)給你帶來(lái)滿(mǎn)足感或成功的工作中,通常是在你的余生中。前景黯淡!

如何應(yīng)用在軟件開(kāi)發(fā)中?

在軟件開(kāi)發(fā)中,當(dāng)你將角色從開(kāi)發(fā)人員職業(yè)轉(zhuǎn)換為管理職業(yè)時(shí),彼得原則通常適用。然而,成為一名優(yōu)秀的開(kāi)發(fā)人員并不一定意味著你是一名優(yōu)秀的經(jīng)理?;蛘?,你可能是一名優(yōu)秀的經(jīng)理,但不要在開(kāi)發(fā)人員的工作上獲得經(jīng)理工作的滿(mǎn)足感,這意味著你沒(méi)有全力以赴(這就是我的情況)。在任何情況下,你都很悲慘,在你面前的職業(yè)道路上看不到任何未來(lái)的發(fā)展。在這種情況下,退后一步想想,你希望你的職業(yè)是什么樣子的。然后,轉(zhuǎn)換角色(或公司,如果需要)以獲得你想要的角色。

6 帕金森定律

內(nèi)容

帕金森定律指出,工作總是會(huì)填滿(mǎn)分配給它的時(shí)間。如果你的項(xiàng)目在兩周內(nèi)有截止日期,則該項(xiàng)目將不會(huì)在此之前完成。可能需要更長(zhǎng)的時(shí)間,是的,但絕不會(huì)少于我們?yōu)樗峙涞臅r(shí)間,因?yàn)槲覀冋谟貌槐匾墓ぷ骰蛲涎觼?lái)填補(bǔ)時(shí)間。

如何應(yīng)用在軟件開(kāi)發(fā)中?

帕金森定律的主要驅(qū)動(dòng)因素是:

拖延癥(“截止日期太遠(yuǎn)了,所以我現(xiàn)在不需要匆忙……”)

范圍蔓延(“當(dāng)然,我們可以添加這個(gè)小功能,它不會(huì)花費(fèi)我們太多時(shí)間......”)

為了對(duì)抗拖延,我們可以在幾天而不是幾周或幾個(gè)月內(nèi)設(shè)定最后期限。比如說(shuō)在接下來(lái)的 2-3 天內(nèi)需要做什么才能朝著目標(biāo)前進(jìn)?一個(gè)(健康的?。┙刂谷掌诳梢越o我們足夠的動(dòng)力,不要陷入拖延癥的低谷。為了防止范圍蔓延,我們應(yīng)該非常清楚地了解我們?cè)噲D通過(guò)項(xiàng)目實(shí)現(xiàn)的目標(biāo)。成功的衡量標(biāo)準(zhǔn)是什么?這個(gè)新功能是否會(huì)增加這些指標(biāo)?那么如果每個(gè)人都明白這項(xiàng)工作需要更長(zhǎng)的時(shí)間,我們應(yīng)該添加它。如果新功能與使命宣言不匹配,請(qǐng)拋棄它。

7 霍夫施塔特定律

內(nèi)容

霍夫施塔特定律指出“它總是比你預(yù)期的要長(zhǎng),即使你考慮到霍夫施塔特定律”。即使你了解了這條定律,并增加了項(xiàng)目的時(shí)間分配,它仍然會(huì)比你預(yù)期的要長(zhǎng)。這與帕金森定律密切相關(guān),即工作總是會(huì)填滿(mǎn)分配給它的時(shí)間。只是霍夫施塔特定律說(shuō)它填充的時(shí)間超過(guò)了分配的時(shí)間。

這條定律得到了心理學(xué)的支持。我們?nèi)菀追杆^的“計(jì)劃謬誤”,即在估算工作量時(shí),我們通常不會(huì)考慮所有可用信息,即使我們認(rèn)為我們已經(jīng)考慮了。我們的估計(jì)幾乎總是主觀(guān)的,很少是正確的。

如何應(yīng)用在軟件開(kāi)發(fā)中?

在軟件開(kāi)發(fā)中(以及任何其他基于項(xiàng)目的工作,真的),我們?nèi)祟?lèi)的樂(lè)觀(guān)主義占了上風(fēng)。估計(jì)幾乎總是過(guò)于樂(lè)觀(guān)。為了減少霍夫施塔特定律的影響,我們可以嘗試盡可能客觀(guān)地進(jìn)行估計(jì)。寫(xiě)下關(guān)于項(xiàng)目的假設(shè)和事實(shí)清單。將每個(gè)清單元素標(biāo)記為假設(shè)或事實(shí),以使數(shù)據(jù)質(zhì)量可見(jiàn)并管理預(yù)期。不要依賴(lài)直覺(jué),因?yàn)槊總€(gè)人的感受都不一樣。寫(xiě)下估算值,讓你的大腦思考它們。將它們與其他人的估計(jì)進(jìn)行比較,然后討論差異。

即便如此,它仍然只是一個(gè)估計(jì),很可能不能反映現(xiàn)實(shí)。如果估算不是基于統(tǒng)計(jì)數(shù)據(jù)或其他歷史數(shù)據(jù),那么它的價(jià)值就非常低,因此與要求你估算的人一起管理預(yù)期總是好的——這總是會(huì)出錯(cuò)的。如果你讓它盡可能客觀(guān),它就會(huì)減少錯(cuò)誤。

8 康威定律

內(nèi)容

康威定律指出,組織創(chuàng)建的任何系統(tǒng)都將類(lèi)似于該組織的團(tuán)隊(duì)和溝通結(jié)構(gòu)。如果你有 10 個(gè)團(tuán)隊(duì)在一個(gè)系統(tǒng)上工作,你很可能會(huì)得到 10 個(gè)相互通信的子系統(tǒng)。

如何應(yīng)用在軟件開(kāi)發(fā)中?

我們可以應(yīng)用所謂的逆康威機(jī)動(dòng):創(chuàng)建最能支持我們想要構(gòu)建的系統(tǒng)架構(gòu)的組織結(jié)構(gòu)。沒(méi)有固定的團(tuán)隊(duì)結(jié)構(gòu),而是要有足夠的靈活性來(lái)創(chuàng)建和解散團(tuán)隊(duì),這對(duì)系統(tǒng)的當(dāng)前狀態(tài)是最好的。

9 墨菲定律

內(nèi)容

墨菲定律說(shuō),任何可能出錯(cuò)的事情,都會(huì)出錯(cuò)。它經(jīng)常在意外發(fā)生后被引用。

如何應(yīng)用在軟件開(kāi)發(fā)中?

軟件開(kāi)發(fā)是一個(gè)容易出錯(cuò)的職業(yè)。出錯(cuò)的主要來(lái)源是bug。沒(méi)有任何軟件不存在挑戰(zhàn)用戶(hù)耐心的錯(cuò)誤或事件。我們可以通過(guò)在日常軟件開(kāi)發(fā)實(shí)踐中養(yǎng)成減少錯(cuò)誤影響的習(xí)慣來(lái)抵御墨菲定律。我們無(wú)法完全避免錯(cuò)誤,但我們可以而且應(yīng)該減少它們對(duì)用戶(hù)的影響。對(duì)抗墨菲定律最有用的做法是特征標(biāo)記。

如果我們使用像 LaunchDarkly 這樣的功能標(biāo)記平臺(tái),我們可以在功能標(biāo)記后面將更改部署到生產(chǎn)中。然后,我們可以使用有針對(duì)性的發(fā)布來(lái)激活內(nèi)部 dogfooding 的標(biāo)志,然后對(duì)少量友好的 Beta 用戶(hù)發(fā)布,最后將其發(fā)布給所有用戶(hù)。通過(guò)這種方式,我們可以從越來(lái)越關(guān)鍵的用戶(hù)群體那里獲得關(guān)于變化的反饋。如果更改出錯(cuò)(并且在某些時(shí)候會(huì)出錯(cuò)),影響很小,因?yàn)橹挥幸恍〔糠钟脩?hù)組會(huì)受到它的影響。而且,該標(biāo)志可以快速關(guān)閉。

10 布魯克定律

內(nèi)容

在經(jīng)典著作“人月神話(huà)”中,弗雷德·布魯克(Fred Brook)有句名言:為遲到的項(xiàng)目增加人力會(huì)使項(xiàng)目更晚。盡管本書(shū)討論的是軟件項(xiàng)目,但它適用于大多數(shù)類(lèi)型的項(xiàng)目,甚至是軟件開(kāi)發(fā)之外的項(xiàng)目。添加人員不會(huì)提高項(xiàng)目速度的原因是項(xiàng)目的通信開(kāi)銷(xiāo)隨著添加到項(xiàng)目中的每個(gè)人呈指數(shù)增長(zhǎng)。2個(gè)人有1條通信路徑,5個(gè)人已經(jīng)有120條可能的通信路徑。新人安頓下來(lái)并確定他們需要的溝通路徑需要時(shí)間,這就是為什么在項(xiàng)目中添加新人時(shí),遲到的項(xiàng)目會(huì)更晚。

如何應(yīng)用在軟件開(kāi)發(fā)中?

很簡(jiǎn)單。更改截止日期,而不是將人員添加到已經(jīng)遲到的項(xiàng)目中。對(duì)在軟件項(xiàng)目中增加新人的期望要切合實(shí)際。將人員添加到項(xiàng)目中可能會(huì)在某個(gè)時(shí)候提高速度,但并非總是如此,當(dāng)然也不是立即。人員和團(tuán)隊(duì)需要時(shí)間來(lái)適應(yīng)日常工作,而在某些時(shí)候,工作無(wú)法充分并行化,因此增加更多人是沒(méi)有意義的。仔細(xì)考慮一個(gè)新人應(yīng)該完成什么任務(wù),以及在將該人添加到項(xiàng)目中時(shí)你期望什么。

11 波斯特定律

內(nèi)容

Postel 定律也被稱(chēng)為穩(wěn)健性原則,它指出你應(yīng)該“在你所做的事情上保守,在你接受別人的事情上開(kāi)放”。換句話(huà)說(shuō),你可以接受多種不同形式的數(shù)據(jù),以使你的軟件盡可能靈活,但你在處理這些數(shù)據(jù)時(shí)應(yīng)該非常小心,以免因無(wú)效或惡意數(shù)據(jù)而危及你的軟件。

如何應(yīng)用在軟件開(kāi)發(fā)中?

該定律源于軟件開(kāi)發(fā),因此非常直接適用。你的軟件與其他軟件或開(kāi)發(fā)人員之間的接口應(yīng)允許不同形式的輸入以實(shí)現(xiàn)穩(wěn)健性:

為了向后兼容,新版本的接口應(yīng)該接受舊版本和新版本的數(shù)據(jù)

為了更好的用戶(hù)體驗(yàn),UI 中的表單應(yīng)該接受不同格式的數(shù)據(jù),這樣用戶(hù)就不必?fù)?dān)心格式。

但是,如果我們?cè)敢饨邮懿煌袷降臄?shù)據(jù),我們?cè)谔幚磉@些數(shù)據(jù)時(shí)就必須保守。我們必須審查無(wú)效值,并確保我們不會(huì)因?yàn)樵试S太多不同的格式而損害系統(tǒng)的安全性。SQL 注入是一種可能的攻擊,它是通過(guò)對(duì)用戶(hù)輸入過(guò)于寬松而造成的。

12 克奇霍夫原理

內(nèi)容

Kerchkhoff 的原則指出,加密系統(tǒng)應(yīng)該是安全的,即使它的加密方法是公開(kāi)的。只有你用來(lái)解密某些東西的密鑰才需要是私有的。

如何應(yīng)用在軟件開(kāi)發(fā)中?

這很簡(jiǎn)單,真的。永遠(yuǎn)不要相信要求其加密方法是私密的加密系統(tǒng)。這被稱(chēng)為“默默無(wú)聞的安全”。像這樣的系統(tǒng)本質(zhì)上是不安全的。一旦該加密方法向公眾公開(kāi),它就容易受到攻擊。

13 萊納斯(Linus)定律

內(nèi)容

在關(guān)于 Linux 內(nèi)核開(kāi)發(fā)的《大教堂與集市》一書(shū)中,埃里克·雷蒙德(Eric Raymond)寫(xiě)道:“有足夠多的眼睛,就可讓所有問(wèn)題浮現(xiàn)”。他將此稱(chēng)為“萊納斯定律”以紀(jì)念萊納斯·托瓦茲。這意味著如果很多人看代碼比很少人看代碼可以更容易地暴露代碼中的錯(cuò)誤。

如何應(yīng)用在軟件開(kāi)發(fā)中?

如果你想擺脫錯(cuò)誤,請(qǐng)讓其他人查看你的代碼。源于開(kāi)源社區(qū)的一種常見(jiàn)做法是讓開(kāi)發(fā)人員提出包含代碼更改的拉取請(qǐng)求,然后讓其他開(kāi)發(fā)人員在將拉取請(qǐng)求合并到主分支之前審查該拉取請(qǐng)求。

這種做法也進(jìn)入了閉源開(kāi)發(fā),但根據(jù) Linus 定律,拉取請(qǐng)求在閉源環(huán)境(只有少數(shù)人查看它)中的作用不如在開(kāi)源環(huán)境中(其中可能很多貢獻(xiàn)者都在看它)。其他為代碼添加更多眼睛的做法是結(jié)對(duì)編程和群體編程。至少在閉源環(huán)境中,這些在避免錯(cuò)誤方面比拉取請(qǐng)求審查更有效,因?yàn)槊總€(gè)人都參與了代碼的初始階段,這為每個(gè)人提供了更好的上下文來(lái)理解代碼和潛在的錯(cuò)誤。

14 沃斯定律

內(nèi)容

沃斯定律指出,軟件變慢的速度比硬件變快的速度要快。

如何應(yīng)用在軟件開(kāi)發(fā)中?

不要依賴(lài)強(qiáng)大的硬件來(lái)運(yùn)行性能不佳的代碼。相反,編寫(xiě)經(jīng)過(guò)優(yōu)化以表現(xiàn)良好的代碼。這必須與 (軟件開(kāi)發(fā)定律:克努斯的優(yōu)化原則) 的格言相平衡,該格言說(shuō)“過(guò)早的優(yōu)化是萬(wàn)惡之源”。與為用戶(hù)構(gòu)建新功能所花費(fèi)的精力相比,不要在使代碼運(yùn)行得更快上花費(fèi)更多的精力。通常,這是一種平衡行為。

15 克努斯的優(yōu)化原則

內(nèi)容

Donald Knuth 在他的一部作品中寫(xiě)了“過(guò)早優(yōu)化是萬(wàn)惡之源”這句話(huà),這句話(huà)經(jīng)常斷章取意,并被用作根本不關(guān)心優(yōu)化代碼的借口。

如何應(yīng)用在軟件開(kāi)發(fā)中?

根據(jù) Knuth 定律,我們不應(yīng)該浪費(fèi)精力過(guò)早地優(yōu)化代碼。然而,根據(jù)沃斯定律,我們也不應(yīng)該依賴(lài)硬件足夠快來(lái)執(zhí)行優(yōu)化不當(dāng)?shù)拇a。最后,這就是我從這些原則中得出的結(jié)論:優(yōu)化可以輕松完成的代碼,無(wú)需太多努力:例如,編寫(xiě)幾行額外代碼以避免經(jīng)歷可能包含大量項(xiàng)目的循環(huán)。優(yōu)化一直在執(zhí)行的關(guān)鍵業(yè)務(wù)的代碼。除此之外,不要在優(yōu)化代碼上花太多精力,除非你已經(jīng)確定了一個(gè)性能瓶頸。

16 保持懷疑

定律和原則是好的。這使我們能夠從某個(gè)角度評(píng)估某些情況,如果沒(méi)有它們,我們不可能了解這些情況的背后道理。然而,盲目地將定律和原則應(yīng)用于每種情況是行不通的。每一種情況都會(huì)存在微妙的變化,這可能意味著某個(gè)原則不能或不應(yīng)該適用。對(duì)你遇到的原則和定律保持懷疑。世界不是非黑即白的。

聲明:本文內(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)投訴
  • 軟件開(kāi)發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    656

    瀏覽量

    29612
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    5242

    瀏覽量

    90329

原文標(biāo)題:分享16個(gè)我總結(jié)的思維模型(程序員必讀,受用終身)

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    十大北京軟件開(kāi)發(fā)公司推薦:有哪些優(yōu)點(diǎn)和缺點(diǎn)

    十大北京軟件開(kāi)發(fā)公司推薦:有哪些優(yōu)點(diǎn)和缺點(diǎn)
    的頭像 發(fā)表于 10-04 09:44 ?125次閱讀
    十大北京<b class='flag-5'>軟件開(kāi)發(fā)</b>公司推薦:有哪些優(yōu)點(diǎn)和缺點(diǎn)

    2025北京軟件開(kāi)發(fā)公司推薦匯總:盤(pán)點(diǎn)10家優(yōu)秀軟件定制開(kāi)發(fā)公司

    2025北京軟件開(kāi)發(fā)公司推薦匯總:盤(pán)點(diǎn)10家優(yōu)秀軟件定制開(kāi)發(fā)公司
    的頭像 發(fā)表于 09-30 09:16 ?2219次閱讀
    2025北京<b class='flag-5'>軟件開(kāi)發(fā)</b>公司推薦匯總:盤(pán)點(diǎn)10家優(yōu)秀<b class='flag-5'>軟件</b>定制<b class='flag-5'>開(kāi)發(fā)</b>公司

    汽車(chē)軟件開(kāi)發(fā)階段安全的意義與原則

    上海磐時(shí)PANSHI“磐時(shí),做汽車(chē)企業(yè)的安全智庫(kù)”好書(shū)分享/《一本書(shū)讀懂智能汽車(chē)安全》汽車(chē)軟件開(kāi)發(fā)階段安全的意義與原則本文節(jié)選自SASETECH汽車(chē)安全社區(qū)組織編寫(xiě)的《一本書(shū)讀懂智能汽車(chē)安全》,該書(shū)
    的頭像 發(fā)表于 09-05 16:16 ?512次閱讀
    汽車(chē)<b class='flag-5'>軟件開(kāi)發(fā)</b>階段安全的意義與<b class='flag-5'>原則</b>

    知識(shí)分享 | 敏捷方法在基于模型的軟件開(kāi)發(fā)項(xiàng)目中的應(yīng)用

    傳統(tǒng)的瀑布式軟件開(kāi)發(fā)流程存在諸多局限,這使得應(yīng)用敏捷原則變得尤為重要,尤其是面對(duì)復(fù)雜且不斷變化的開(kāi)發(fā)環(huán)境時(shí)。作為最高效的軟件開(kāi)發(fā)方法之一,基于模型的
    的頭像 發(fā)表于 07-16 16:52 ?963次閱讀
    知識(shí)分享 | 敏捷方法在基于模型的<b class='flag-5'>軟件開(kāi)發(fā)</b>項(xiàng)目中的應(yīng)用

    基于瑞薩64位MPU RZ/G2L進(jìn)行32位應(yīng)用軟件開(kāi)發(fā)

    本文主要介紹基于瑞薩64位MPU RZ/G2L進(jìn)行32位應(yīng)用軟件開(kāi)發(fā)的介紹,用于解決客戶(hù)32位軟件移植相關(guān)問(wèn)題,供客戶(hù)參考。
    的頭像 發(fā)表于 06-26 15:48 ?1439次閱讀
    基于瑞薩64位MPU RZ/G2L進(jìn)行32位應(yīng)用<b class='flag-5'>軟件開(kāi)發(fā)</b>

    找電機(jī)控制軟件開(kāi)發(fā)兼職

    軟件開(kāi)發(fā)兼職人員,我現(xiàn)在有一個(gè)永磁無(wú)刷電機(jī)控制,220V,需要有相關(guān)經(jīng)驗(yàn)的人來(lái)開(kāi)發(fā),兼職費(fèi)用可以議談,產(chǎn)品是增壓泵相關(guān)產(chǎn)品,有興趣給我留言,謝謝
    發(fā)表于 05-07 17:43

    CICTCD在汽車(chē)軟件開(kāi)發(fā)中的革命性作用#持續(xù)集成與測(cè)試 #CICD持續(xù)集成與交付

    軟件開(kāi)發(fā)
    北匯信息POLELINK
    發(fā)布于 :2025年04月17日 15:36:09

    AN197 GD32L23x軟件開(kāi)發(fā)指南

    電子發(fā)燒友網(wǎng)站提供《AN197 GD32L23x軟件開(kāi)發(fā)指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-17 16:18 ?0次下載
    AN197 GD32L23x<b class='flag-5'>軟件開(kāi)發(fā)</b>指南

    我國(guó)軟件開(kāi)發(fā)者數(shù)量突破940萬(wàn)

    2024開(kāi)放原子開(kāi)發(fā)者大會(huì)20到21日在武漢舉辦。工業(yè)和信息化部負(fù)責(zé)人透露,我國(guó)軟件開(kāi)發(fā)者數(shù)量突破940萬(wàn)。 開(kāi)源就是開(kāi)放軟件的源代碼,在遵守許可協(xié)議的前提下,任何人都可以使用、修改甚至再發(fā)布源代碼
    的頭像 發(fā)表于 12-24 13:52 ?620次閱讀

    最新Simplicity SDK軟件開(kāi)發(fā)工具包發(fā)布

    最新的SimplicitySDK軟件開(kāi)發(fā)工具包已經(jīng)發(fā)布!此次更新針對(duì)SiliconLabs(芯科科技)第二代無(wú)線(xiàn)開(kāi)發(fā)平臺(tái)帶來(lái)了包括藍(lán)牙6.0的信道探測(cè)(Channel Sounding
    的頭像 發(fā)表于 12-24 09:47 ?1293次閱讀

    我國(guó)軟件開(kāi)發(fā)者數(shù)量超過(guò)940萬(wàn)

    在近日舉辦的開(kāi)放原子開(kāi)發(fā)者大會(huì)上,工業(yè)和信息化部負(fù)責(zé)人傳來(lái)了一則令人振奮的消息:我國(guó)軟件開(kāi)發(fā)者數(shù)量已經(jīng)突破940萬(wàn)大關(guān)。這一數(shù)據(jù)不僅彰顯了我國(guó)在軟件開(kāi)發(fā)領(lǐng)域的雄厚實(shí)力,也預(yù)示著我國(guó)在全球軟件開(kāi)
    的頭像 發(fā)表于 12-23 11:08 ?797次閱讀

    Labview上位機(jī)軟件開(kāi)發(fā)

    現(xiàn)我公司有個(gè)項(xiàng)目需要Labview上位機(jī)軟件開(kāi)發(fā),應(yīng)用為數(shù)據(jù)采集,硬件為廠(chǎng)家采集卡。具體軟件需求電聯(lián)或+V: 15228164111。
    發(fā)表于 11-18 16:24

    BQ7690x軟件開(kāi)發(fā)指南

    電子發(fā)燒友網(wǎng)站提供《BQ7690x軟件開(kāi)發(fā)指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-07 10:19 ?2次下載
    BQ7690x<b class='flag-5'>軟件開(kāi)發(fā)</b>指南

    北京軟件開(kāi)發(fā)公司有那些?做軟件的公司有哪些?

    北京作為中國(guó)的科技創(chuàng)新中心之一,擁有眾多提供軟件開(kāi)發(fā)服務(wù)的公司。以下是一些在北京地區(qū)較為知名的軟件開(kāi)發(fā)公司: 華盛恒輝科技有限公司:是一家專(zhuān)注于高端軟件定制開(kāi)發(fā)服務(wù)和高端建設(shè)的服務(wù)機(jī)構(gòu)
    的頭像 發(fā)表于 10-28 15:02 ?3868次閱讀

    TMS320C6201 DSP軟件開(kāi)發(fā)技術(shù)

    電子發(fā)燒友網(wǎng)站提供《TMS320C6201 DSP軟件開(kāi)發(fā)技術(shù).pdf》資料免費(fèi)下載
    發(fā)表于 10-26 09:25 ?0次下載
    TMS320C6201 DSP<b class='flag-5'>軟件開(kāi)發(fā)</b>技術(shù)