寫在前面
大概在我入職一年半之后,老東家接到了一個至今為止最重要也是最成功的一個項目。很幸運的是,我能參與到這個項目之中,從加入這個項目開始,無論是在技術(shù)還是管理方面,我的成長都進(jìn)入到了快車道;這一段時間的經(jīng)歷,都是人生之中不可多得的財富。
小試牛刀
在項目初期,由于我對于PC軟件已經(jīng)比較熟悉了,在這個項目之中,領(lǐng)導(dǎo)就安排我負(fù)責(zé)嵌入式部分的功能設(shè)計和開發(fā)。剛開始接觸嵌入式開發(fā)的時候,自己的壓力還是很大的:因為在之前的工作時間里,我利用項目的空余時間,看過2次嵌入式部分的代碼和設(shè)計文檔,每次都需要花大概一周的時間,才勉勉強強能搞個半懂,而且隔了一段時間,就又都忘記了。所以,每次開始熟悉代碼,都伴隨著滿滿的挫敗感,不過,這一次,我無路可退??赡苁峭昝乐髁x傾向的緣故,我對于繼承下的嵌入式部分代碼基本持有全盤否定的態(tài)度,加之學(xué)習(xí)了很多面向?qū)ο笤O(shè)計的方法,既然我看不懂學(xué)不會,我就只好重新寫了。大概經(jīng)過了三周“瘋狂”的工作之后,我終于完成了重寫的工作。完成了這部分工作之后,我突然發(fā)現(xiàn)之前看不懂的代碼和設(shè)計文檔都能看懂了,這都要歸功于重寫,讓我將抽象的代碼和設(shè)計文檔之間建立起了聯(lián)系,我也算是入門了。
由于在之前的項目之中,飽受重復(fù)性勞動的折磨,我在項目間歇重新設(shè)計了一個算法來實現(xiàn)繁瑣的軟件功能。起初我只是自己構(gòu)建了一個算法的原型,后來由于項目開發(fā)的過程之中,領(lǐng)導(dǎo)想直接在測試工具軟件用上這個算法,我只好在硬磕嵌入式開發(fā)的同時,對算法原型再次進(jìn)行重構(gòu),使之更加適應(yīng)項目工作的要求。后來由于工作安排的變化,PC部分的程序也由我負(fù)責(zé)后續(xù)的維護(hù)。由于資源部門里,只有我一個人參與這個項目,所以測試工具軟件和嵌入式軟件的聯(lián)調(diào)工作,也就理所當(dāng)然的由我自己完成了。現(xiàn)在回想起來,那段日子就像在練習(xí)左右互搏一樣;由于任何一個軟件的修改,都會影響到另一個軟件的行為,手心手背都是肉;所以,思考問題多了一個方向,更多的時候需要站在更高的層次才能做出最優(yōu)的選擇。
有了這樣一段的經(jīng)歷,讓我更加確信了,“程序設(shè)計的思想是相通的,無論是應(yīng)用軟件還是嵌入式軟件;面向?qū)ο笫歉玫脑O(shè)計理念,C語言也能實現(xiàn)面向?qū)ο蟮脑O(shè)計理念”。這樣的信念一直支持我在后續(xù)不斷的重構(gòu)嵌入式部分的C語言代碼,也取得了很好的效果。甚至,我將其推廣到了產(chǎn)品特性的設(shè)計上,在我的影響下,越來越多的指標(biāo)參數(shù)通過配置文件的形式被提取出來,越來越多的產(chǎn)品行為通過配置的方式進(jìn)行組合,甚至我們可以通過參數(shù)的調(diào)整拓展出一些我們期望的新特性和行為,這為我們節(jié)省了大量的修改和測試驗證的時間。好的產(chǎn)品一定是設(shè)計出來的。
在解決了技術(shù)上的問題之后,等待我的是全新的挑戰(zhàn)……
寫在最后
不知道是不是自己的總結(jié)和歸納能力提升了,回顧過去,感覺還是能夠總結(jié)和提煉出一些有價值的東西的。
第49篇(49/1000),2018年4月30日,于北京。