這裡所說的我女兒是指我三個月來買的第三輛單車,摺疊的粉紅色的可變速的小單車。
昨天北京颳起了大風,由於最近項目比較緊,自身水平又不高,所以打算周末加班趕進度,但是苦於風大天冷,中午吃完飯後就回去了,打算過一會兒在去公司,於是就沒有把車子搬回樓上。
可惡的大風一直沒停,加之LINQ的吸引力,一直到晚上2點睡覺也沒覺得饑餓和去公司的事。但是自己卻想過要不要把單車搬上來(一般我都是扛到樓上的),但是同住一房的同事說車子都鎖一塊了,肯定沒事!他們倆的車子在樓洞裡放了快1個月了也沒有什麼問題,於是我也就不再打算把它費力抗上來了。
當今天早上(準確的說是昨天早上,現在淩晨了)下樓後,我就愣在那裡了,被剪斷的鎖丟在地下,我女兒已經沒了。
整整一天,心情都不是太好,以前有她的時候沒覺得多好,現在沒了,丟的不僅僅是人民幣。
來到北京就聽說這裡是單車殺手城市,不丟車就是這個城市已經變態的表現,根據同事教導去修車的地方買了一輛算新的二手車,沒想到在公司樓下丟了。先前同事說過公司下面車棚是不會丟的,結果我卻碰上了。經大家分析,是車子太新,車鎖不夠好(5元的)。第二天去另一家修車的地方花120買了一輛18速單車,好一頓講價,“送”了一把據說價值20元的車鎖,結果在從TechEd回來的時候驚奇的發現鎖在樓下的車子沒了,那天是星期天,下午6點多左右,據鄰居說中午還看到了我的車子。
而後思考認為買一輛好一點的小車子比較好,也買了一把好鎖,以後每天都把車子扛回屋裡。一直安逸untill上周日晚上的因懶惰和僥倖而丟失。
總結:
1。懶惰和僥倖心理,是這次丟車的最主要的原因。當自己猶豫不定的時候外界因素的侵入(同事的“分析”)卻起到了絕對性的作用。本身外因不佔據事件產生的主導因素,但是當自身不堅定的時候,外界因素卻幾乎可以起到決定性作用。在項目開發過程中,這樣的錯誤是常常見到的。舉個例子,當我們從資料庫裡取出資料給實體類賦值時往往代碼會是這樣:
domainObj.someProperty = (SomeType)IDataReader[index];
這是想到的問題就是如果IDataReader[index]取出的資料是null的時候,可能會出現對象沒有被引用到執行個體的錯誤。可是當前我的資料庫設計和程式邏輯設計裡讀出的記錄不會是null的。加上項目已有的類似處理方法裡也沒有做null處理,於是相對堅定的認為null出現的幾率很小了,於是大片代碼開始如此炮製。所以當null出現的時候.......後果可想而知。項目架構也是如此,同是.Text程式,跑在別的地方可能沒問題,但是自己拿過來改動一些來用卻是問題百出,相信有經驗的開發人員在翻過.Text的代碼後就對其中的隱患感觸頗深了,但是看到很多成功啟動並執行例子,加之自己的僥倖心理,就很容易使自己陷入焦油坑。在慘遭應試教育洗腦後,我們應該越來越多的相信自己對問題的分析和結果的權衡,就在N多年前人們還在認為地球是個正方體。
2。如何對待(++項目主要版本號)。三次買車,價格分別為90,120,360。1:1.333:4的比例。當我們在項目上失敗的次數越多的時候,對待下一個版本的功能期待和投入也是以幾何級數的增長。都說失敗是成功之母,但是每次我們犯的錯誤都是新的,按照這句諺語,我們得到的結果就是失敗是成功之母=不斷的失敗+偶爾短暫的所謂的成功。根據常理來判斷,結果是諺語=屁話。當然這個邏輯看起來很荒謬,其實跟那些所謂的“你們中國有句俗話”一樣,只是後者常常和大學學位證/CET Cert一樣,麻醉了一大批人。一個新版本項目的開啟或功能重構的開啟,就是出乎你意料的錯誤的即將來臨的序幕。如果用正確的心態來對待才是重要的,不要期望這是一個best of the world或者完美無暇的結果,儘力去做就好了(一直以來我的車子安然無恙全在於我的悉心關照和仍然處於上次丟車的影響之中)
3。基礎設施的重要性(infrastructure building )和適度設計(Appropriate design)。我的車鎖讓我付出了僅40元。蓋多高的樓挖多深的地基,這話是真的,不過一個產品不是蓋樓的模式,想多加20層樓了我們不可能推翻樓房重建地基,而項目基礎設施的構建工作成了很多sulotion provider極為關注的部分。高度的可擴充性必然伴隨效率(運行效率和有效時段內的開發效率)的降低。如果我為我的車子買一把200多車鎖,固然顯得太為過分了,至少這次車鎖是被剪斷的,不是被破解開的,我認為這把車鎖買的合適,下次買車我會選一把比這個再結實一點的但是價格又不會是太高的,因為即使再堅固只要有素質的賊盯上你了,它也會想盡辦法來給你搞斷。我認為項目的架構不必考慮太過長遠,適度就已足夠,需要的時候重構和推翻重做在總體看來是節省開發成本和縮短開發週期的。世界上沒有最高的樓,只有更高的樓,而且更高的樓一般不會是曾經是世界上最高的樓的,但是本拉登(不可預知和不可控因素)的出現似乎使得這個幾率增加了。沒有銀彈的同時也沒有完美、堅實的設計。
胡言亂語之後總覺得對不起讀者,附送小文: 效率!!!數和字串的轉換