程序員與醫生

文章導航-readme

    久病未能成醫,然而卻悟出了些許程序員與醫生的道理。細想來,程序員和醫生這個職業竟如此類似。html

職業的誕生

    上帝創造了人類,而人類又創造了程序。上帝所創造的人類並非天衣無縫的,他在每一個人的身上或多或少的留下了一些缺陷。這些缺陷就是疾病,有些人很不幸,一出生就有了,有些人很幸運,他健康的生活了好久纔出現。然而不論是前者仍是後者,其降臨到這個世間的時候就註定了要有這些缺陷。人們雖然很不理解爲何要有這些缺陷,但不甘心被這些缺陷所支配。程序員

img

因而,醫生這個職業誕生了,用以最大程度的解決這些缺陷帶給人類的影響。瀏覽器

    人類創造了程序。一樣,程序也不是天衣無縫的,它也存在了各類各樣的缺陷。這些缺陷就是bug。所不一樣的是,bug是程序員創造的,程序也是程序員所創造的。你永遠沒法要求一個程序員創造出沒有bug的程序,正如你沒法要求上帝創造一個天衣無縫的人同樣。上帝在創造了一我的以後,能夠絕不負責任的當甩手掌櫃,把爛攤子交給醫生去處理,而程序員則不能,你在創造了一個程序的時候,就要對其進行負責到底,若是你不肯意,那麼必然也會有另外一個苦逼的程序員要對其負責。測試

求醫問藥的套路

    改bug就是治病!設計

    求醫問藥的人,向醫生哭訴着本身的症狀,告訴醫生本身的患病時間。而測試(客戶或產品)也會拿着程序的症狀和發生時間來給你提bug。有趣的是,程序員定位bug與醫生診斷疾病的手法也極其類似。有經驗的醫生和有經驗的程序員都會根據本身的經驗來大致判斷問題的所在。而後他們通常會採用排除法,經過一些檢查來定位問題的具體位置。醫生也許會讓你作一些特定動做,去拍一些片子等,而程序員也會重現一下問題,打一些日誌......3d

    瞭解到以上問題,不管是對於病人仍是,一些使用程序的人很是重要,若是你想讓醫生(或程序員)快速的診斷出問題並解決。日誌

    於病人而言,在醫生就診的時候你須要提供幾點必要的信息。htm

  1. 症狀blog

  2. 患病時間get

  3. 過往病歷

    一樣,對於使用程序的人,你也須要提供幾點必要的信息。

  1. 症狀

    這一點是最重要的,你須要詳細的告訴程序員,程序的那個模塊的那個頁面或功能遇到了什麼問題。

  1. 重現問題的步驟

    你須要儘量的詳細的提供問題是怎樣產生的,如使用哪一個瀏覽器,如何操做...,應該如何去重現它。

  1. 發生問題的時間

    若是你不能重現問題的步驟,那麼你必須提供問題發生的時間,以便於程序員回溯問題。

    在苦逼的程序生涯中,我就經常遇到客戶、產品或測試提改過來的不知所云的幾句話,甚至幾個字。

程序員與醫生

    即便這個世界上有了醫生和程序員,然而咱們仍然不得不面對一個殘酷的現實——世上有治不了的病,也有改不了的bug。

    也許上帝在創造人時,沒法作到「盡善盡美」與「雨露均沾」。有的人也許獲得的寵愛多一些,缺陷也相對少一些。有的人也許很不幸,上帝在創造它的時候剛好打了個盹兒。因而很不幸,這羣人的缺陷就更多一些,有些更是疑難雜症!

    面對這個現實,病人們不該去抱怨上帝的不公平,也不該責怪醫生的無能。由於這根本沒有什麼卵用。而那個被你責怪的倒黴蛋醫生可能也在抱怨:「人又不是我創造的,鬼知道上帝爲何會搞出來這麼多的疑難雜症」

    程序一樣也有解決不了的bug,也許是由於設計之初的不合理,也許是客觀條件的不容許......總之,當程序產生的時候,bug也就隨之產生了。也許這個bug並非某個程序員所創造的,但問題卻要由他來解決。咱們不能抱怨程序員的無能,正如咱們不該該抱怨醫生的無能同樣。而程序員也不該該一味的埋怨當初的創造者,由於也許你所創造的程序,正有一個苦逼的程序員在熬夜改bug。

    而相對於醫生而言,程序員或許是幸運的,醫生面對的是生命,程序員面對的只是程序。醫生不能創造一我的,所以沒法避免疾病的產生,也沒法對人體有足夠的瞭解而治癒疾病,而程序員極可能是程序的創造者,他能夠儘量的在程序起始,進行詳細的調研,採用優秀的設計以儘量的避免問題。又或是由於本身是程序的創造者,而更輕鬆的定位與解決問題。

    不管是醫生仍是程序員,不管是病人仍是客戶。當問題產生以後,儘早儘快的解決纔是最應該作的事,抱怨永遠不是解決問題的辦法。若是問題不能解決,咱們不只不能抱怨,還必須用愉悅心情讓本身去接受它。由於,每時每刻咱們都是幸運的,由於任何災難的前面都有可能再加一個「更」字!沮喪、憂鬱、抱怨的情緒,只會讓事情變得更糟糕!

相關文章
相關標籤/搜索