------------恢復內容開始------------

幫助我寫一個電商網站,像淘寶一樣,3000預算還不夠嗎?但可以再加一點,”幫助我寫一個像百度一樣的搜索引擎,一個輸入框應該不會花多少時間吧?"我這方面的需求有點復雜,幫我寫一本隨手機主題顏色變化的智能后蓋,錢不成問題,"
無論你是一家正規的網路公司,還是一名兼職的開發人員,你都會或多或少地遇到各種各樣的產品需求,客戶需求,老板需求,他們都同意:這個需求很簡單,
這是不是真的呢?
"只要兩行代碼,為什么要花兩天時間?"
這個問題看起來是有道理的,但是在其背后有幾個荒謬的想法:

代碼行數=作業量代碼行數=價值代碼行之間沒有什么差別,相互等價很明顯,以上三個都是廢話,
開發人員面對這樣的指責,翻白眼之余卻也不免怨天尤人,軟體開發是將現實世界映射到虛擬世界的魔術,回顧我們所做的改變,有太多的理由可以解釋為什么兩行代碼要花上兩天,
由于問題報告對再現方法的描述不夠清晰,
有時我們要花費數小時才能可靠地重現某些問題,遇上這樣的情況,一些開發人員會立刻聯系問題報案者,要求對方提供更多的細節,但是有些開發人員不喜歡修復 Bug,因此缺乏資訊就成了甩鍋的好方法,
由于所報告的問題是關于功能的,所以我并不熟悉這些功能,

這可能涉及一些功能,一些開發人員很少使用,因此并不十分熟悉相關細節,在這種情況下,開發人員需要花費更多時間來了解如何使用功能,尤其是這種功能 bug與軟體互動的具體程序,
這是因為我花了時間研究問題產生的真正原因,而不僅僅是流于形式的癥狀,
如果一些代碼產生錯誤,直接將其封裝到 try… catch陳述句中,這樣可以有效地抑制錯誤,沒有錯,沒有問題,對不對?肯定不行對于負責的開發人員來說,掩蓋問題和解決問題是兩回事,隱藏錯誤很容易引起其它意想不到的副作用,在未來的一個緊要關頭,我不想再為同樣的錯誤而煩惱,
這是因為,除了報告的復制步驟外,我還研究了其他可能引起相同問題的情況,
盡管可以很容易地使錯誤重現,但一組重復步驟往往不足以揭示引發錯誤的深層原因,在找出這種根源因素的同時,研究一切可行的解決辦法,才是真正有價值的分析洞見,它可能涉及到代碼的實際作業方式,可能是在其他位置有其他需要解決的問題,也可能是某些代碼不一致的狀況(導致某個代碼路徑發生錯誤,而其他路徑沒有發生錯誤)等等,
由于我花了一些時間來驗證其他代碼是否受到類似問題的影響,
假如這個錯誤是由一個 bug引起的,那么同樣的錯誤應該出現在代碼庫的其他地方,現在有了用戶報告,最好是徹底檢查一下,
由于找到了錯誤的根源,我想用最簡單的方法來解決問題,保證副作用被控制到最低的風險,
由于我完全測驗了這個變化,并確保它在不同的代碼路徑下解決了相同的問題,
我不想讓別人對修復測驗感到麻煩事,在此之前,我不希望再有類似的錯誤發生,因此我竭盡全力確保問題得到徹底解決,環境轉換既復雜又乏味,我希望自己的作業能夠使全職測驗人員不再需要做本質上“完全相同”的更改,
有什么比修復 bug更麻煩的事情嗎?這意味著重復修復相同的 Bug,您看到的只是我添加的兩行代碼,而沒有看到我在背后分析為什么要添加這兩行代碼,以及為什么這兩行代碼會這樣實作,
每天只寫幾行代碼,這是怎么回事?

很多團隊的績效考核指標都曾經爆出過“代碼行數”的問題,部分測驗人員以查“Bug”數為依據,各大因特網大廠也曾將團隊中動輒上億行代碼作為品宣賣點,
它讓外界產生一種錯覺,認為代碼行的數量就是衡量程式員的技術能力、作業成果的萬金標準,能寫的多了,就代表寫的好了?莫非是那種濃密的 if… else沖擊波,還能像寫文章時那樣用排比句式來形容?
林克斯看著想打人,
實際上,程式員的作業產出與代碼行的數量并沒有很大的關系,而且程式員的作業時間并不局限于寫代碼,
去年,外國研究機構 ActiveStates進行了一項調查,結果顯示,80多個國家的開發者中,有數千人來自美國和中國,
開發人員平均每天撰寫程式的時間不到4小時,

有38.8%的人在1250個調查樣本中每天只花費2-4個小時來編程,這個結果和2018的調查相似,37%的人每天花2-4個小時來編程,與此相比,27.92%的人每天花5-7小時來編程,而在2018年的調查中有31%的人每天花5-7小時來編程,
更令人吃驚的是,在2019年,61.52%的受訪者花費4小時或更少的時間進行編程,而在2018年,只有51%的人花費4小時或更少的時間進行編程,另有10.56%的人花費8小時或更多的時間進行編程,比2018年的19%下降了近一半,
開發人員撰寫代碼所花費的時間越來越少了,那么時間都到哪里去了?

百分之四十四的人說他們必須把時間用在各種活動上,包括會議,測驗,維護,甚至是社會交往,一個最耗時的活動是軟體設計/體系結構,占11.36%,然后是參加 standups/會議,占8.24%,
這些開發人員可能還要花很多時間寫日志,寫周報,在中國:
這些代碼體現了我的社會情懷,包含了我的哪些精髓技術和商業思維,最大程度地實作了客戶價值,滿足了用戶需求,為團隊留下了寶貴的技術財富,為實作數字化經濟增添了一份力量,拉通了團隊,對齊了目標,解決了痛點,賦予了行業,賦予了生命,這是一個非常棒的程式員!
花上兩天的時間,你會不會覺得我很高效?

點擊了解更多資料,更有免費開源專案和課程等你觀看哦!
------------恢復內容結束------------
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/184920.html
標籤:其他
