tag:
腳下的路
幾個月前,乙個同事跟我說,這個bug改不動了,我問為什麼,他的答案是,那塊的**太亂了,改一絲會動全身。
昨天,乙個同事跟我說,這塊太亂了,做不動了。
兩次,我做了相同的選擇:重構。
重構和開發新功能在很多pm眼裡一直是一對很難調和的矛盾。對於pm來說,來自客戶的壓力讓他更關注專案的進展,而重構往往代表專案的原地踏步,只有開發新功能才是「正道」。放棄「正道」,選擇看不見進展的重構,站在pm的角度上,這是難以接受的。
「破窗戶」理論告訴我們,一旦置破爛於不理,其結果通常是爛得更多更快。
乙個同事和我聊天時,提到了他正在做的乙個系統,他們在開發的過程中發現了很多問題,很多bug改起來都非常困難。他們想重構,但是強勢的pm堅持要開發新功能,於是,這些問題有幸在**中繼續生存下去。隨著專案的進行,這些問題暴露得越來越明顯,以致於有些問題已經成為專案繼續開發新功能的障礙。當問題到了不得不進行修改時,發布的日期也逐漸臨近了。
當我做出重構的選擇時,我知道,我會失去對當前進度的控制。但我期望得到的是乙個合理的設計,以此,後續的一些開發工作會得到大幅度加快,前面失去的進度後面在一定程度可以得到彌補。
幾個月前,那段時間,專案進度如預期的慢了下來,但隨著重構的進行,我對**質量也逐漸的越來越有信心了。事實證明,專案後期出現了進度井噴的現象,原本耽誤的進度到最後居然出現了提前完成。
這次,當我和那個同事討論了新版設計之後,我從那個曾經失望的眼裡看到了光芒。今天開始工作之前,專案組的所有開發人員又在一起重新討論了這個新的設計,並進行了一些完善。於是,乙個pair開始採用這個新的設計方案進行編碼。事實出乎意料的順利,原本預計耽誤很多的進度,在他們生花妙手的努力下,在今天下班之前,就將大部分趕了回來,讓我著實驚訝於他們的開發速度。
從這幾個專案的經驗來看,重構,短期上在阻礙開發的進度,但是站在長期的角度,卻可以大幅度提公升軟體開發速度,也提高了軟體本身的質量,更重要的是,通過重構,解決掉一些原有實現中固有的缺點,可以將程式設計師從痛苦中解救出來。程式設計本應該是快樂的,不是嗎?
忍無可忍,無須再忍,重構吧!
雷軍 過去一直提醒自己要忍 但忍無可忍!
雷軍微博 新浪科技訊1 月 11 日訊息,昨日晚間雷軍發微博解釋為何在紅公尺redmi發布會上怒懟友商,雷軍表示,www.cppcns.com過程式設計客棧去我一直提醒自己,要忍,但忍無可忍 redmi發布會,放縱了一把,希望大家理解 昨天小公尺發布全新獨立品牌紅公尺redmi,主打中高階,並www...
極端SEO讓人忍無可忍的「三宗罪」
seo越來越成為是非常有市場非常有前景的行業,然而在巨額利潤和專一目的性的驅使下,越來越多的seoer很輕易地就把seo往著極端化的方向發展nhogtzu著,瘋狂的seo背後,雖然能為客戶帶來成效,完成客戶設立的目標,卻也一步步加劇著seo與搜尋引擎的矛盾,讓搜尋引擎不斷改變演算法,加大對過分seo...