女人高潮抽搐喷水视频在线 I 色偷拍 自怕 亚洲 10p I 麻豆亚洲高清无矿砖码区 I av免费网 I caoporm超碰国产精品 I 制服丝袜美腿一区二区 I 久久久久久精品成人鲁丝电影 I 97视频中文字幕 I 91av视频在线 I 97超碰色 I 狠狠色伊人亚洲综合第8页 I 丁香网婷婷 I 国产 成人 综合 亚洲 网站 I 欧美黄色一级片在线观看 I 天天爽夜夜爽人人爽免费 I 成人天堂资源www在线 I 天天干小说 I 国产尤物网站 I 男人天堂午夜 I 亚洲人成在久久综合网站 I 欧美日韩高清在线 I 2022色婷婷综合久久久 I 九九在线观看视频 I 国产思思 I 自拍性旺盛老熟女 I 日本不卡视频 I 免费一级a毛片在线播放 I 激情婷

聯系電話: 18171260050

行業動態

  • 03,Apr,2022

為什么軟件開發這么難?

 有些人認為,一種好的編程語言可以減輕軟件開發人員的負擔,并相應地提高他們的效率。

毫無疑問,這在很久以前的匯編和Fortran時代是真的。

  然而,現在編程語言已經足夠好了,我們仍然面臨著其他一些困難和挑戰。目前,許多開發人員認為編程仍然非常困難,但這些困難與編程語言無關,原因如下。

1.阿姆達爾定律。

當我們需要執行一系列任務時,我們會想到阿姆達爾定律。這條法律告訴我們,僅通過加快某項任務獲得的整體速度提高是有限的。

假設燒開水需要10分鐘,然后煮面條需要10分鐘。即使你找到了加快沸水速度的方法,烹飪時間也不會少于10分鐘。無論爐子有多旺,烹飪速度都不可能翻倍。

該定律的數學公式是:如果某件事的總時間比為p,您將永遠無法獲得超過1/(1-p)的加速比。假設這部分工作占90%,即p=0.90。在優化過程中,如果這部分時間減少到0,整體工作速度將提高1/(1-0.90)=10倍。

阿姆達爾定律的關鍵在于,您可以獲得的大速度提升僅限于優化工作的比例 

ZI1(N(V]{[9IY~A%3ETBYNC.png

編程工作困難的原因有很多。簡單地說,我們可以認為這是因為我們需要處理的工作必須按照一定的順序完成。畢竟,人類并不擅長同時處理許多任務。在某個時間點,你可能會使用建筑工具、閱讀文檔、編寫代碼或參加會議。當然,你也可能會在會議上無私地寫代碼,但你只能做同樣的工作,而不能同時寫代碼和會議。因此,我們可以使用阿姆達爾定律,假設您可以將施工時間降低到0,但項目的整體速度只能稍微加快一點。您的工作效率仍將受到其他因素的限制。

曾經,很難將程序轉換為計算機可以運行的代碼。很久以前,我們甚至需要將程序轉換為1和0,然后不厭其煩地將其輸入計算機。我不知道這需要多長時間,但我們可以假設這項工作占編程時間的90%。這意味著,如果我們能找到更好的方法(如Python)告訴計算機該做什么,我們可以將編程效率提高10倍以上。

然而,現在我們的編程語言越來越好,告訴計算機做什么的時間也越來越少。將程序轉換為代碼不需要90%的時間。假設我們現在只需要10%的時間。這意味著,即使這部分工作時間減少到0,效率也只能提高1.11倍。效率比以前低了81倍。

這是因為其他90%的軟件開發是一項非常艱巨的任務,無論編程語言有多好,不能(直接)減輕我們的負擔。

  2.為什么編程還這么難?

  傳達需求

我在這里說的編程工作很困難,但實際上與編程語言無關。為了找出原因,暫時假設我們根本不使用電腦。你不需要告訴電腦該做什么,但你需要告訴你的朋友該做什么。你不能告訴你的朋友你必須為他們做出所有的決定。

  你會發現解釋關鍵的背景信息需要很多時間。你的朋友需要了解程序需要處理的實際問題,以及你認為程序應該提供什么功能。你必須解釋所有的縮寫字母和術語,并討論各種外部因素。

你的朋友需要知道所有可能的情況,有很多細節需要處理。

  同時,你還需要考慮不同功能的狀態,用戶可能嘗試的各種動作,以及所有可能的事件,你需要和你的朋友討論很多極端的情況。

向你的朋友解釋這一切有幾個困難。首先,你必須掌握所有的實際細節;其次,你必須了解程序在每種情況下應該執行的操作;此外,你必須通過你的朋友能夠理解的方式傳達所有信息。這意味著你必須組織這些信息,以確保易于理解。

  請注意,到目前為止,我們甚至還沒有提到計算機,當然,我們也沒有提到編程語言。理解需求,掌握程序應該做什么,以及組織表達是一項非常困難的任務。

描述與規格

  我們很容易混淆描述和規格之間的區別,這是我們經常進入的思維陷阱。如果你只有一個描述(紅色汽車),你可以測試實際情況是否符合描述(紅色,但不是汽車),但這個描述不足以傳達如何制造汽車。這就是標準化的目的。

創造事物需要做出很多決定。如果你記錄每個決定的結果,你就會得到一個(混亂的)規范。在編寫程序時,你需要做出這樣的決定,所以僅僅通過描述是不夠的,你需要一個規范。當我們看到一個描述(列出文件)時,我們很容易認為這是一個規范,所以我們認為我們應該能夠告訴計算機執行這個動作。但事實上,有很多決定需要考慮(文件應該按什么順序列出?每個文件都有一行嗎?

在編寫程序時,你得到的規范通常只是一個描述。計算機不能繪制矩形,它必須知道矩形的顯示位置、大小和顏色。當你編寫這個代碼時,你會發現很多尚未做出的決定。做出這些決定需要付出很多努力。我們經常犯錯誤,把這些工作歸咎于編程語言,但這只是因為我們很難根據描述創建規范。

  計算機本身

  現在,讓我們回到計算機上。開發軟件不僅僅是為了了解軟件應該做什么,并將各種想法轉換為代碼。計算機本身也有許多程序必須解決的問題。您的程序必須在硬件和網絡上快速運行。該程序需要處理機器故障。工具和協議的復雜性使該領域面臨更多的問題。這些困難不是由向計算機解釋該做什么的過程造成的,它們也需要解釋。

此外,你需要在腦海中運行一些程序。有時邏輯很容易理解,但有時你不能把一系列的事件和狀態都塞進腦海里。為了正確理解程序的詳細信息,在錯誤的情況下修復程序,您需要了解程序本身在各種情況下的狀態。

  編寫代碼的過程可以讓你清楚地掌握程序的工作方法。然而,這個程序永遠不會停止改變。你會發現錯誤,添加新的功能或修改現有的行為。即使最初的組織方法非常有效,這并不意味著它的結構總是正確的。你需要花時間結合各種情況,考慮未來的需求,并在事故發生時清理混亂。

  人員合作

  很多時候,我們需要與他人合作編寫程序,這也會帶來挑戰。

所有的團隊成員都必須各司其職。為了不妨礙他們之間的工作,你必須分工。為了建立合理的分工,您首先需要了解程序的結構(請參見康威定律)。

如果你有多個團隊,情況會更復雜。每個團隊都有不同的目標,所以你必須權衡各個方面。有時,一個決定對其他團隊非常有益,但它會阻礙你的工作。很難設身處地為他人著想,找到合理的妥協計劃,但必須完成。

  在大型項目中,沒有一個團隊能理解整個系統,更不用說一個人了。然而,您仍然需要了解系統的各個部分是如何設計和組織的。這比你自己承擔整個設計要困難。

雖然與人打交道并不是真正意義上的編寫代碼,但它也是軟件開發中非常重要的一部分。

  3.如何解決軟件開發的外部問題?

  我們可以找到一些不受阿姆達爾法律限制的方法。如果每個任務的速度不是完全獨立的(例如,優化一個任務可以加快另一個任務的速度),我們希望通過技術解決方案來改善這個問題。

我們需要更好的語言和發展環境。如果我們可以用更少的人編寫程序(例如,兩個人可以取代整個團隊,或者一個團隊可以取代一個部門),我們可以減少組織規模。如果同一個人編寫接口的前后平臺,則無需開會討論。生產率的提高不僅可以降低編寫代碼的成本,還可以改變工作方式,從而降低其他工作的成本。盡管如此,這種方法也有局限性,因為程序員無法將所有業務納入他們的腦海。

迭代速度是另一個杠桿。你需要知道如何編寫程序。


主站蜘蛛池模板: 天天摸夜夜添狠狠添婷婷 | 欧美一区二区三区久久综合 | 日本少妇人妻xxxxx18 | 噜噜噜亚洲色成人网站 | 青娱乐毛片 | 黄色片一级免费 | 国内视频在线 | 国内精品久久久久久久影视麻豆 | 男女国产网站 | 四虎亚洲精品高清在线观看 | 视频一区中文字幕 | 亚洲真人无码永久在线 | 久久香综合精品久久伊人 | 日日操日日碰 | 美女免费黄色 | 欧美aaaaa视频| 精品久久久噜噜噜久久久 | 青青青爽 | 久久超碰97人人做人人爱 | 欧美j| 好紧好湿好黄的视频 | 91精品一区二区中文字幕 | 狠狠做五月深爱婷婷伊人 | 国产精品1区2区3区 性欧美17一18内谢 | 老外的一级大黄色毛片 | 国产精品亚洲а∨怡红院 | 黄色av小说在线观看 | 久久久久久久久久久久久久久伊免 | 国产又粗又黄又爽又硬的免费视频 | 丝袜人妻一区二区三区 | 国产精品19乱码一区二区三区 | 尤物视频在线观看视频 | 日韩精品一区二区三区免费观看 | 国产精品第56页 | 国产精品国产精品 | 久久人人爽人人爽人人爽 | 欧美成人aaaaa | 婷婷资源站 | 丁香狠狠色婷婷久久综合 | 在线观看中出 | 亚洲伊人成无码综合影院 | 加勒比毛片 | 国产98色 | 国产一级一级va | 97久久精品视频 | 国产尤物在线视精品在亚洲 | 欧美 日韩 国产 亚洲 色 | 久久成年片色大黄全免费网站 | 天堂中文在线观看视频 | 欧美一区不卡视频 | 国产无套白浆视频在线观看 | www.四虎精品 | 亚洲永久网址在线观看 | 天堂综合网久久 | 蜜桃av一区 | 色阁五月| 亚洲a成人无m网站在线 | 欧美国产精品日韩在线 | 一区二区小视频 | 91高潮大合集爽到抽搐 | 无码精品视频一区二区三区 | 亚洲国产精品乱码一区二区三区 | 日日夜夜一区 | 国产超碰人人做人人爱ⅴa 国产ts系列 | 三个男人躁我一个爽视频免费 | 亚洲成人av一区二区 | 性色av浪潮av| 亚洲欧美激情图片 | 中文字字幕在线中文 | 久久天堂av | 亚洲欧美国产精品专区久久 | 野狼av午夜福利在线 | 天堂…在线最新版在线 | 青青草公开视频 | 国产成人免费在线视频 | 无码人妻丝袜视频在线播免费 | 国产成人无码性教育视频 | 午夜伦理影院 | 麻豆精品国产免费 | 国产精品白丝久久av网站 | 一区成人| 国产在线清纯极品美女援交 | 成人无遮挡黄漫yy动漫免费 | 五月婷婷丁香综合 | 奇米影视在线 | 蜜臀久久精品 | 亚洲激情三区 | 国产寡妇婬乱a毛片视频 | 成人性无码专区免费视频 | 久久精品人人做人人爽老司机 | 日本精品一区二区三区在线播放视频 | 精品国产亚洲第一区二区三区 | 久久中文字幕乱码久久午夜 | 成人做爰69片免费看 | 国产精品99久久久久久宅男小说 | 视频在线a | 久久婷婷视频 | 激情久久av | 无码国产69精品久久久久app |