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

程序員如何做到『編程速度又快,Bug 數(shù)量又少』?

移動開發(fā)
網(wǎng)友在 Quora 提問:如何把自己訓練得『編程速度又快,Bug 數(shù)量又少』?下面是 Glyn Williams 的回復很精彩,4.5 k 贊。

[[131966]]

有網(wǎng)友在 Quora 提問:如何把自己訓練得『編程速度又快,Bug 數(shù)量又少』?下面是 Glyn Williams 的回復很精彩,4.5 k 贊。

三個程序員被要求穿過一片田地,到達另一側的房子。

菜鳥程序員目測了一下之間很短的距離,說:“不遠!我只要十分鐘。”

資深程序員看了一眼田地,想了一會,說:“我應該能在一天內(nèi)過去。”菜鳥程序員很驚訝。

大神程序員看了一眼田地,說:“看起來要十分鐘,但我覺得十五分鐘應該夠了。” 資深程序員冷笑了一聲。

菜鳥程序員出發(fā)了,但只過了一會,地雷爆炸了,炸出了巨大的洞。這下他必須偏移預定的路線,原路返回,反復嘗試穿過田地。最后他花了兩天到達目的地,到的時候顫顫發(fā)抖,還受了傷。

資深程序員一出發(fā)就匍匐前進,仔細地拍打地面,尋找地雷,只有在安全的時候才前進。他在一天的時間內(nèi)小心謹慎地緩慢爬過了這片地,只觸發(fā)了幾個地雷。

大神程序員出發(fā)之后徑直穿過了田地,十分果斷。他只用了十分鐘就到了另一邊。

“你是怎么做到的?”另外兩個人問道,“那些地雷怎么沒有傷到你?”

“很簡單,”他回答道,“我最初就沒有埋地雷。”

當我們遇到我們(或其他人)給自己埋下的邏輯炸彈,編程會變得很困難。我們天天在編寫邏輯炸彈。它們就在地表下靜靜地待著,等著爆炸。一旦爆炸,通常就帶來不可預測的嚴重后果。

隨著新的代碼模塊被加入到項目中,項目的復雜度會上升。這種上升不是線性的,而是呈某種指數(shù)形式。

程序員的精力是一種有限的資源,所以這種爆炸式增長的復雜度最終會淹沒程序員。你的大腦最終會不堪重負,這是一個轉折點。

這就是炸彈開始爆炸的時刻。有各種各樣的炸彈:在遍歷時修改數(shù)組,數(shù)組下標偶爾變成負數(shù),另一個線程在你的函數(shù)執(zhí)行的起點和終點中間改變對象的狀態(tài)。轟,轟,轟……

我認為最快捷可靠的程序設計需要培養(yǎng)一種避免這些問題的風格。

編寫明確表達行為的代碼。選擇有意義、準確、無歧義的符號名字。嚴格執(zhí)行命名方案,不要用不同的單詞描述同一個事物。

如果有,采用最簡單的解決方案。不要為速度優(yōu)化,而是為可讀性和透明度優(yōu)化。

如果你在最初編寫代碼時沒有注意可重用性,不要欺騙自己相信代碼可以很神奇地被重用。相反,應該從一種情形著手,保持代碼的具體性。如果值得修改代碼讓它一般化,那么應該做好徹底重寫的準備。

責任編輯:chenqingxiang 來源: 程序師
相關推薦

2018-07-11 15:08:35

2016-12-12 10:43:02

網(wǎng)易視頻云

2018-05-15 16:19:39

程序員bug代碼

2011-12-15 09:47:12

API

2017-11-13 09:20:19

技術程序員淘汰

2017-11-30 09:32:36

2013-08-05 09:55:47

程序員

2024-12-04 13:54:19

pnpm存儲項目

2017-09-27 13:41:32

量子微軟程序猿

2020-10-27 15:01:25

編程語言PythonJava

2018-09-03 09:40:38

華為程序員危機

2020-11-23 18:36:21

容器微服務程序

2023-02-14 15:00:38

開發(fā)者ChatGPT

2019-11-11 13:40:45

Python 開發(fā)編程語言

2021-12-27 13:57:34

Vite 工具項目

2022-01-04 14:21:56

Vite組件React

2023-09-07 09:46:44

程序員編程

2018-03-05 10:27:47

電腦卡頓舊電腦

2010-11-22 13:28:55

2021-02-20 16:03:10

程序員bug測試
點贊
收藏

51CTO技術棧公眾號