自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

高效編程的11條規(guī)則

開發(fā) 前端
這絕不是詳盡無遺的清單,而是我在IT工作了數(shù)年之后的主觀排名。 希望您發(fā)現(xiàn)其中一些有用的。

這絕不是詳盡無遺的清單,而是我在IT工作了數(shù)年之后的主觀排名。 希望您發(fā)現(xiàn)其中一些有用的。

[[335442]]

1. 童子軍規(guī)則

"一定要讓營地的清潔劑比您發(fā)現(xiàn)的要干凈"-這是一個很好的生活準則。 當您靠近營地時,即使不是由您自己造成的,也應(yīng)使其清潔。 這是偵察兵的規(guī)則之一。 編程同樣適用。 正如羅伯特·C·馬丁(Robert C. Martin)所說:"讓代碼比發(fā)現(xiàn)的要好"。 如果我們發(fā)現(xiàn)別人寫的一些難以閱讀的應(yīng)用程序,并且花了一些時間來理解,那就讓它至少好一點。 如果它不在我們正在處理的任務(wù)范圍之內(nèi),則可以始終創(chuàng)建一個新的小型技術(shù)任務(wù),對其進行詳細描述并將其帶入下一個沖刺。

此規(guī)則的簡約版本更像是在公共廁所中唱歌。 我們至少應(yīng)該至少不惡化它所處的條件。我們必須記住,有些人有一天會接管我們開發(fā)的那部分應(yīng)用程序,并嘗試對其進行修改。 讓我們不要讓生活更艱難。

2. 考慮問題,而不僅僅是解決方案

軟件開發(fā)人員確實非常擅長實施解決方案。 我們了解語言,模式,庫,框架,并了解如何使用它們。 問題在于,從業(yè)務(wù)的角度來看,我們經(jīng)常做的事情沒有任何意義。 您正在開發(fā)的某些功能可能與企業(yè)所有者不知道的現(xiàn)有功能重復(fù)。 有些可能沒有經(jīng)過深思熟慮,將永遠無法發(fā)布到下一個版本,或者根本沒有用戶會使用它們。 那是浪費時間,金錢和挫敗感的巨大浪費。 很多人都不想問開發(fā)人員他們的意見,只是假設(shè)他們的工作就是交付功能。 沒有商量。 僅技術(shù)工作。

開發(fā)人員每天都在使用該應(yīng)用程序。 他們知道每個功能,即使沒有人使用它。 有時,從業(yè)務(wù)角度看似乎容易完成的任務(wù)需要花費數(shù)月的開發(fā)時間。 有些似乎幾乎不可能的工作要花幾天時間。 原因是將要實施一項功能的人員與提出該功能的人員之間缺乏溝通。 兩者之間存在巨大差異:

  • 為用戶的購物車創(chuàng)建永久存儲
  • 用戶應(yīng)該能夠保存他們的購物車,并在移動和Web應(yīng)用程序上使用它

第一個很簡單。 無話可問。 第二個要難一些,因為它使您思考推理,而您將成為提出給定問題的解決方案的人。 關(guān)于細節(jié),功能要求,質(zhì)量屬性和其他方面,會有很多問題。 由于您現(xiàn)在不僅是執(zhí)行者,因此解決方案將更好地解決。

3. 考慮總擁有成本

有時會偷工減料,以后跳過測試,留下臨時解決方案并承諾稍后進行糾正,這是非常誘人的。 在大多數(shù)情況下,如果它不會破裂,您將永遠不會。 將有一個新任務(wù),優(yōu)先級,要實現(xiàn)的功能和要解決的問題。 您將遇到的問題是這樣的應(yīng)用程序可能會損壞。 而且,將很難修復(fù)。

功能的總擁有成本是從開發(fā)開始到部署,維護再到終止所花費的金錢和精力的總和。 如果我們在開發(fā)過程中采用捷徑,那將是最便宜的部分。 您可能發(fā)布的速度更快,但是維護會很麻煩,用戶會感到不滿意,并且總的來說,所有東西都比它應(yīng)該的貴。

4. 使用SOLID

在編程中,有很多很棒的規(guī)則以首字母縮略詞形式出現(xiàn):DRY,KISS,YAGNI,SOLID等。 SOLID是一組規(guī)則,可以幫助使代碼更整潔并避免常見的陷阱。

在將代碼推送到存儲庫之前,這可能是一個很棒的清單。 該課程是否支持"單一責任原則"? 可以用同一層次結(jié)構(gòu)中的任何其他類替代該類(是否滿足LSP)? 這將有助于過濾掉許多未來問題的來源。 理解并有意識地運用每條規(guī)則背后的原因,將使您成為一名更好的程序員,并提高代碼審查的質(zhì)量。

5. 使用設(shè)計模式

在大多數(shù)情況下,您不是第一個嘗試解決您面臨的問題或?qū)崿F(xiàn)具有類似要求的功能的人。 已經(jīng)有成千上萬的CRM,CMS,銀行系統(tǒng),聊天室,在線商店,市場以及人們能想到的基本上任何可能的應(yīng)用程序類型。 您正在開發(fā)的系統(tǒng)可能是市場上最好的,或者具有其他人所沒有的某些極其先進和獨特的功能。 不過,大多數(shù)工作在某種程度上都是參考性的。 其他人可能會嘗試以多種不同的方式來做到這一點,甚至描述整個過程。 它可以為您省去很多麻煩,并為您提供更好的解決方案。

四人幫有一本很棒的書,介紹了一些可用于解決常見問題的可重復(fù)模式。 它寫于1994年,但那些仍然有效和有用。 在軟件中,那是古老的時代,但是現(xiàn)在我們在編寫代碼時面臨的問題并沒有太大不同。 從那以后,出現(xiàn)了許多新的設(shè)計模式。 了解他們可以使您的工作輕松得多。

所有設(shè)計都是重新設(shè)計。 向他人學(xué)習(xí)

6. 最小化復(fù)雜度

從本質(zhì)上講,軟件開發(fā)是一項復(fù)雜的任務(wù)。 不要使其變得不必要的復(fù)雜。 有時通過在函數(shù)中引入一些額外的" if"或"循環(huán)"來實現(xiàn)一些業(yè)務(wù)規(guī)則非常誘人。 開發(fā)將更快,但是代碼將變得更暗,添加新功能只會使其變得更加復(fù)雜。 如果出現(xiàn)問題,將更難找出原因。

有一個偉大而又非常簡單的度量標準,其秘密名稱為" Cyclomatic Complexity"。 它是在70年代推出的,但仍然非常有用。 此度量標準衡量代碼執(zhí)行的多種方式。 每個條件語句和循環(huán)都將得分加+1。 分數(shù)越小越好。 當我們分析一種方法時,分數(shù)在范圍內(nèi):

  • 0-10:代碼結(jié)構(gòu)合理,不應(yīng)引起意外問題
  • 10–20:代碼非常復(fù)雜,并且有很多潛在的執(zhí)行路徑可供測試。 重構(gòu)候選人
  • 20–50:代碼非常復(fù)雜,應(yīng)進行重構(gòu)
  • 50歲以上:必須進行重構(gòu)

可讀性比性能更重要。 該聲明有一些限制,但從長遠來看,可讀性基本上是有回報的。 您可以使用更少的錯誤來更改代碼。 微觀優(yōu)化可能很容易使您的代碼變得一團糟,并且不會給用戶帶來太多價值。

7. 不要一個人做

聽起來可能違反直覺,但是編程是一種社交活動。 隱藏在地下室黑暗中的程序員時代已經(jīng)結(jié)束。 分享專業(yè)知識和經(jīng)驗變得越來越重要。 在最壞的情況下,您要與之交談的人將成為您的橡皮鴨,但很可能您會收到一些有價值的反饋。 有人可能會發(fā)現(xiàn)您根本沒有考慮的解決方案中的問題。 從不同的角度看待是一個很好的工具,并且非常容易獲得。

任何人都不應(yīng)對已部署的代碼負責。 提供新功能是團隊而非個人的工作。 代碼審查,配對編程,拉取請求是一種工具,可以承擔一個人的責任,并將其移交給具有最佳跨職能技能的一群人。 對于可能影響整個公司業(yè)績的重要功能,開發(fā)人員的責任實在太大了。 這種情況非常不健康,絕不應(yīng)該發(fā)生。

8. 測試是必須的

盡早發(fā)現(xiàn)錯誤非常重要,可以節(jié)省大量的工作量和客戶的憤怒電話。 盡早發(fā)現(xiàn)問題使他們更容易解決。 在開發(fā)特定應(yīng)用程序時,我們能夠最好地記住所有細節(jié)和邏輯。 我們記得做出特定決定的所有理由以及如何調(diào)試每個應(yīng)用程序。 修復(fù)錯誤的成本會隨著時間呈指數(shù)增長。

高效編程的11條規(guī)則

9. 學(xué)習(xí)英語

共享知識一直是軟件社區(qū)的基礎(chǔ)之一。 大多數(shù)信息是用英語編寫的,并且易于訪問。 目前,它是軟件世界中最流行的語言。 如果您不會用英語讀寫,您將會遇到很多困難,并失去很多機會。 而且,幾乎每種語言的語法默認情況下都是用英語書寫的。

用英語寫注釋和名稱也是一個好習(xí)慣。 它使代碼更整潔,并且與語法更加一致。 如果我們要與他人(尤其是來自不同國家/地區(qū)的人)共享代碼,那么基本上沒有比英語更好的方法了。

10. 多任務(wù)使你變得愚蠢

人們根本無法一次做好多件事情。 軟件開發(fā)需要使用抽象概念,并且通常需要構(gòu)建非常復(fù)雜的思維模型。 如果您分心或開始從事其他工作,那么您將失去一切,必須從頭開始。 此外,有多項研究證明多任務(wù)處理對性能,生產(chǎn)率和智商有負面影響。

高效編程的11條規(guī)則

我曾經(jīng)在軟件公司參加過一次培訓(xùn),介紹了一種非常有用的實踐。 如果您沒有任何預(yù)定的會議或電話,則可以自由播放"西紅柿"。 規(guī)則非常簡單-您無需與任何人交談。 如果有人問您任何問題,您將用一個單詞回答:"西紅柿"。 因此,您表明自己正在工作之中,不想被打擾。 人們處于"西紅柿模式"時,他們還會在日歷中顯示選定的時間。 完全"蕃茄"化并不總是一件好事,但這是一種改善性能的有趣方式。

11. 少做多好

更少的代碼和更好的維護基礎(chǔ)架構(gòu)。 有很多人喜歡在他們的應(yīng)用程序,模塊,服務(wù)器,節(jié)點,pod,微服務(wù)或任何其他東西中吹噓大量的代碼行。 應(yīng)用程序中的每一行代碼都有可能具有最高的質(zhì)量,并且恰好位于正確的位置。 但這是非常罕見的情況。 如果您可以使用較少的資源來完成相同的工作,則應(yīng)該這樣做。 質(zhì)量是目標,而不是數(shù)量。

 

責任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2025-04-27 08:06:50

2023-09-01 10:43:22

IT外包企業(yè)

2019-07-09 13:42:12

數(shù)據(jù)備份云計算系統(tǒng)

2011-05-16 13:44:11

C++

2011-03-31 09:22:56

c++

2019-09-30 08:00:00

圖數(shù)據(jù)庫數(shù)據(jù)庫

2011-08-29 16:05:07

高性能SQL語句SQL Server

2011-03-24 12:32:15

數(shù)據(jù)庫性能優(yōu)化

2016-10-28 13:21:36

2022-02-07 11:24:08

云安全云計算

2023-06-06 07:17:44

云變化管理策略

2015-12-31 10:00:41

Java日志記錄規(guī)則

2021-01-27 18:15:58

Java重寫Overriding

2020-02-28 15:19:19

CIOCISO安全

2024-09-30 16:25:40

2017-08-08 12:26:39

大數(shù)據(jù)數(shù)據(jù)科學(xué)規(guī)則

2023-11-06 15:04:07

Flutter開發(fā)技巧

2023-11-04 12:08:40

Flutter事件

2016-08-12 08:24:56

GitLab Flowmastertags版本

2021-04-23 22:39:43

計算機安全程序
點贊
收藏

51CTO技術(shù)棧公眾號