高效的程式設計師什麼樣?聰明 懶惰

2021-06-22 08:59:28 字數 1556 閱讀 4959

程式設計師:有積極活力的,專注於用**解決真實世界裡的問題。不是指那些夢想家,那些永遠只想不做的人

聰明:能夠周全的思考問題(不是那些耍小聰明的人)

懶惰:就像是程式中的lazy-loading,是指延後寫**的時間(而不是無所事事的人)。

正確的軟體開發應該是懶惰式開發,也被稱作忍耐式開發;這種開發方式的表現是,在真正動手寫**前,程式設計師要花大量的時間通盤考慮所有可能的解決方案和途徑。這可以看作是延緩寫**,在沒有完全理解問題前絕不動手寫**。先把問題理解清楚,確保將要寫的**能真正的解決問題,這將會避免之後寫出大量無用的**。

這裡說的先把問題弄清楚,表現有:

• 真正的理解需求,讓產品部門(業務分析部門)弄清楚他們真正需求的是什麼。

• 這些部門通常不給足夠的時間來整理需求

• 他們經常不是請教問題領域專家,而是順從領導的意見

• 他們通常無法提供前後一致或完整的需求意見。

• 清楚跟團隊中的其它程式設計師或其他團隊中的程式設計師需要那些互動,如何互動,這包括:

• 使用白板交流

• 畫流程圖(uml或visio)

你需要花大量的時間調研,來確保需求符合實情,來做工作讓你和同事的交流有共同的語言語義。然而,程式設計師都喜歡立刻衝上去程式設計,喜歡在電腦前不停的敲**。

在真正的軟體開發中,只有5%的開發時間是有效率的(你可以參考《程式設計師開發效率悖論》)。如果你發現乙個程式設計師用100%的時間都在盯著螢幕,那麼,你看到的這個程式設計師是最糟糕的程式設計師。

如果乙個程式設計師總是在電腦前編碼,這絕對是乙個不好的訊號。

高效的程式設計師總是不斷檢查他對需求的理解,確保他們的**和需求是同步的。高效的程式設計師是頻繁的和產品經理/業務人員溝通交流,你可以經常看到他們使用白板與同事和架構師交流討論。程式設計師的閱歷和經驗都是用來提高開發效率,這是最優秀的程式設計師:

• 他們思考**的時間增加而寫**時間減少

• 對問題的透徹理解使除錯**的速度更快

• 深思熟慮後的**速度更快

• **長度更短

程式設計師從心理上講都是喜愛自己的**的。

爛程式設計師不喜歡去修改已經寫成的爛**。相比起優化自己的**,他們更願意簡單的增加更多的**,以此來彌補之前的缺陷。更糟糕的是,他們喜歡把責任歸咎於他人。最終,一堆不好用的**上在來另外一堆不好用的**,整個系統變得到處是bug,極不穩定。

優秀的程式設計師經常也會寫出爛**,但他們能看到那些**需要優化,哪些需要重寫。優秀的程式設計師和不優秀的程式設計師的區別就在於對有問題的**的態度,優秀的程式設計師的做法是:

• 如果**整體上好的,那就重構**。

• 如果**整體上有問題,那就重新**

當**中有需要優化或需要重寫的地方時,時間拖的越久,你就越難回頭解決這些問題。因為對這些**依賴的程式會越來越多,越來越深,當你優化這些**時,相關的依賴也需要進行相關修改。當積累的問題越來越多時,輕鬆的優化/重新這些**已經變得不可能。而使用繼續增加**的方式來彌補之前**問題,會讓系統變得越來越不穩定。

如果腦子裡沒想清楚,那就懶一些,把寫**的時間往後推。

高效程式設計師的特徵 聰明,懶惰

這裡我使用了聰明,懶惰和程式設計師這幾個詞。我說的這幾個詞的意思是 聰明 能夠周全的思考問題 不是那些耍小聰明的人 懶惰 就像是程式中的lazy loading,是指延後寫 的時間 而不是無所事事的人 正確的軟體開發應該是懶惰式開發,也被稱作忍耐式開發 這種開發方式的表現是,在真正動手寫 前,程式設...

高效程式設計師的特徵 聰明,懶惰

這裡我使用了聰明,懶惰和程式設計師這幾個詞。我說的這幾個詞的意思是 正確的軟體開發應該是懶惰式開發,也被稱作忍耐式開發 這種開發方式的表現是,在真正動手寫 前,程式設計師要花大量的時間通盤考慮所有可能的解決方案和途徑。這可以看作是延緩寫 在沒有完全理解問題前絕不動手寫 先把問題理解清楚,確保將要寫的...

高效的程式設計師是聰明和懶惰的

我之所以要用聰明和懶惰來形容高效的程式設計師,原因有以下幾點 聰明是因為能找出問題的正解 懶惰是因為不願寫多餘的 即不會長時間地坐在電腦前 好的軟體開發過程應該是懶惰的軟體開發,亦稱耐心開發,原因是開發人員在寫 之前會先將時間花在透徹地考慮各種解決方案上。這是懶惰開發的主旨,即在不了解之前就不會開始...