
在交流中感悟
最近與[技術(shù)鳥]的一個(gè)初入軟件開發(fā)行業(yè)的小伙伴交流了一下關(guān)于軟件開發(fā)流程和程序模板的問題,結(jié)合自己這幾年的編程之路,便與之探討了一番。隨后想來,這應(yīng)該是一個(gè)比較有代表性的問題,根據(jù)自己當(dāng)初從零開始到如今獨(dú)立開發(fā)一路走來的路和踏過的坑,應(yīng)該能寫點(diǎn)什么,對于很多徘徊在門口的同行能有點(diǎn)意義,遂執(zhí)筆成之。
這位小伙伴正值大學(xué)之際,也剛剛進(jìn)入軟件開發(fā)行業(yè)不久,先來看一下他的問題,這里我選擇性地整理了幾個(gè)極具代表性的問題:
你說大二學(xué)完就出去好嗎?培訓(xùn)了解公司流程,能簡單說說公司開發(fā)流程嗎?開發(fā)手機(jī)應(yīng)用一般不會(huì)一點(diǎn)點(diǎn)完全自己敲代碼吧,可以套網(wǎng)上找的模板嗎?加了那么多群,一直聽人說框架,還是沒怎么明白什么是框架啊?我也是因?yàn)樽罱隹荚囋O(shè)計(jì)的時(shí)候經(jīng)常套模板,直接修改就用上了,心里有點(diǎn)負(fù)罪感,也不踏實(shí)!就說登錄注冊,我自己寫的前面,后來下載了一個(gè)模板,我的瞬間被轟成渣!
這些問題其實(shí)我也經(jīng)歷過,我想對于大多數(shù)從業(yè)者來說,當(dāng)初走入這條“不歸之路”時(shí)也或多或少歷經(jīng)同感,有所迷茫。歸納一下這些問題,其實(shí)就是兩點(diǎn):軟件開發(fā)流程和程序框架模板。下面談一下自己的感受吧。
軟件開發(fā)流程
軟件開發(fā)流程,或者說是公司軟件開發(fā)流程,對于尚未踏入職場,甚至剛剛踏入行業(yè)并正在入門學(xué)習(xí)軟件開發(fā)而言的同學(xué)來說,個(gè)人不太建議大家過于糾結(jié)這個(gè)流程問題。就我自身來說,大學(xué)期間,對于編程這個(gè)詞都沒能理解透徹,甚至不能說出程序這個(gè)詞的內(nèi)在含義,又如何能理解軟件開發(fā)流程呢?只有掌握了這個(gè)流程中最重要的技能——軟件開發(fā),才能談?wù)麄€(gè)的流程。
任何行業(yè)的學(xué)習(xí)都是一個(gè)階段性的過程, 在每一個(gè)階段都有當(dāng)前階段重要的事情要做。所以,在入門階段,也就是學(xué)習(xí)階段,最重要的就是一心掌握編程知識,專心打好編程基礎(chǔ),穩(wěn)扎穩(wěn)打,盡快步入初級軟件工程師階段。當(dāng)你能夠真正做到獨(dú)立開發(fā)軟件的時(shí)候,再來談軟件開發(fā)流程。至于公司軟件開發(fā)流程,進(jìn)入職場的實(shí)習(xí)階段自然而然的就會(huì)接觸到,并在實(shí)踐中理解。
所以,培養(yǎng)編程能力才是最重要的。初入職場的實(shí)習(xí)生也根本無法控制軟件開發(fā)流程,因?yàn)橐婚_始你只是這個(gè)流水線上的一部分,還是被動(dòng)安排的。跟著老司機(jī)一起做事,并在工作中真真正正地接觸并了解一個(gè)公司的軟件開發(fā)每一個(gè)流程,你會(huì)發(fā)現(xiàn),一切都是那么自然。
開發(fā)框架模板
在國內(nèi),很多行業(yè)中的初學(xué)者,包括有幾年經(jīng)驗(yàn)的從業(yè)者,都被一句很經(jīng)典的話給騙了:不要重復(fù)造輪子!并附之堂而皇之的言論:我們要敏捷開發(fā),快速迭代。但是,說這句話之前,我們捫心自問一下,我們會(huì)造輪子嗎?如果不會(huì),那就真的只是IT界的搬運(yùn)工了。
首先,不得不承認(rèn)地是,軟件開發(fā)過程是一個(gè)枯燥無味的過程,特別是在互聯(lián)網(wǎng)產(chǎn)品迭代更新的階段,公司業(yè)務(wù)需求變更頻繁,編碼與搬磚無異。很多人喜歡開源框架,GitHub、開源中國等網(wǎng)站應(yīng)有具有。于是,在一個(gè)項(xiàng)目中,集成各種知名不知名的庫、Jar包等。最后一出現(xiàn)問題,兩眼一抹黑,無從下手。甚至狗急跳墻,各種換框架,慢慢地脫離了解決問題的本身方法。
其次,一些優(yōu)秀的框架確實(shí)能夠事半功倍,提高工作效率。但是,在使用之前,我們得保證的是,自己真正地理解了它的工作原理,實(shí)現(xiàn)過程。對于這個(gè),一個(gè)很好的解釋就是,雖然我做的沒它好,但是我做得出它實(shí)現(xiàn)的功能,只是路走得遠(yuǎn)了一些,效率低了一些而已。然后可以通過閱讀優(yōu)秀開源框架的源碼,查看WIKI,熟練地使用到項(xiàng)目中去。這樣,就算出了問題,也能夠保證很快定位到錯(cuò)誤出處,迅速解決問題。
最后,對于初學(xué)者,或者說是初級工程師,我還是建議多嘗試著自己編碼,雖然網(wǎng)上的例子很多,還是盡量少用框架。記住,自己走過的路,才踏實(shí);自己填過的坑,才結(jié)實(shí)。還記得讀書時(shí)代,一個(gè)很好的例子就是,答案僅供參考!編程也是一樣,參考是為了更好地學(xué)習(xí)和進(jìn)階,而一味的“拿來主義”只會(huì)讓你我停留在原地,甚至退步。
給未來一點(diǎn)時(shí)間
文中并沒有具體介紹軟件開發(fā)流程和框架模板的使用,以后抽時(shí)間在做總結(jié),結(jié)合自己的經(jīng)驗(yàn),細(xì)數(shù)公司軟件開發(fā)的每一個(gè)流程中應(yīng)當(dāng)注意的事項(xiàng)和框架模板的正確選擇和合理應(yīng)用,歡迎大家關(guān)注交流,一起做得更好,飛得更高。