在 code 時,為了保證程式的健壯性,我們要全面思考各種可能的異常,並針對每種異常設計對應的處理邏輯。例如 catch 異常,引數合法性校驗等。
若有一種異常我們沒有想到,則程式在一定條件下就會報錯,導致服務可用性降低。
所謂工程師思維,就是把各種極端情況,各種異常都想到並處理,這樣才能寫出更少 bug 的程式這樣的想法,也既只有當各種情況都清楚了準備好了,才認為這個事情是對的沒問題的。
工程師思維泛化一下,可以表述為:當各個因素都已經確定無風險後,才認為一件事情是 ok 的。
因此可見工程師思維是偏向保守的,當然這是職業要求。在工作中,工程師需要想到各種異常情況,並設計有針對性的解決方案。
創新性的工作,總是會面臨一些不確定的情況。比如一項新的制度頒布後,可能在社會運轉過程**現制度漏洞。
在進行創新性工作的時候,如果我們總是盯著可能出現的極端情況,可能出現的風險,那創新的 idea 就永遠也沒有準備好。
按照工程師思維,這個 idea 並沒有解決所有可能的異常風險,因此它可能會失敗。
因此我們說工程師思維的希望萬事俱備的特點會阻礙創新。
在進行創新性工作時,不再追求萬事俱備,不再無窮無盡地追究如何應對各種小概率事件。
未來是不確定的且不可**的,因此接受一部分不確定性,承擔一定的風險,我們才能將創新落地。
例如區塊鏈技術,其初始目的是建立基於 code 的信任,但沒想到會引發數字幣的瘋狂炒作。
從程式設計師公升級到工程師
大多數象我這樣對軟體有濃厚興趣的人,畢業後義無反顧地走進了企業,開始了程式設計師的生涯。那時,我們迷戀 大全 秘籍 一類的書籍,心中只有 當我看到一行行枯燥的 變成了能夠打 的裝置,變成了螢幕上漂亮的 變成了動聽的 成就感油然而生。我覺得自己也是乙個出色的程式設計師了。在使用者的機房中苦熬三晝夜解決...
從程式設計師公升級到工程師
大多數象我這樣對軟體有濃厚興趣的人,畢業後義無反顧地走進了企業,開始了程式設計師的生涯。那 時,我們迷戀 大全 秘籍 一類的書籍,心中只有 當我看到一行行枯燥的 變成了 能夠打 的裝置,變成了螢幕上漂亮的 變成了動聽的 成就感油然而生。我覺得自己 也是乙個出色的程式設計師了。在使用者的機房中苦熬三晝...
打斷工程師 程式設計師的真實代價
很多時候,我發現自己需要向程式設計界以外的人反覆解釋為什麼隨意的打攪乙個程式設計中的程式設計師是多麼的討厭。我需要費力的向他們解釋什麼是 流 境界 程式設計師陷入深深思考和理解乙個問題時,乙個 乙個提問,甚至一句 你好 都會像一聲炸雷似的將程式設計師從 盜夢空間 裡驚醒 夢境中建好的一切建築都會立刻...