一个c++程序员的学习历程自述
? ??我是2011的畢業(yè)生,工作已經(jīng)有一年半了,今天看了一篇博客,主要是講博主自己以前在大學(xué)打游戲,從大二開始醒悟,學(xué)java,然后準(zhǔn)備逆襲,我看了些評論,發(fā)現(xiàn)博主還是對自己的未來迷茫的很,想想自己以前何嘗不是這樣呢?對未來的走向彷徨而期待,很想干大事業(yè),但又怕走錯路。我想每個大學(xué)生都希望有經(jīng)驗的人給他們分享一些他們的經(jīng)歷,不管是成功的還是失敗的,我想終究對其有用,于是就有了寫這篇博客的沖動。
? ? 在大學(xué)里面我主要學(xué)了c,c++,javase,學(xué)的都不是很犀利,但終究還是對語言有一定的掌握,進(jìn)了公司后,公司主要是用vc6.0,說是用c++,其實主要東西還是用的c,所以這一年半主要還是從事windows sdk相關(guān)的工作,由于公司是監(jiān)控方面的工作,所以也熟悉一些視頻顯示方面的活,開始進(jìn)去時候,看到客戶端代碼那么多,覺得寫這個軟件的人應(yīng)該還是很牛的,但隨著自己對于相關(guān)業(yè)務(wù)流程的理解,我發(fā)現(xiàn)其實這個客戶端寫的很爛,雖然還是比較穩(wěn)定的,但從軟件質(zhì)量方面的角度來說,看到這份代碼我就想把它給廢了重寫,我們的主管也有相同的想法,也是在去年上半年就開始組織我們重寫,但這個事并不是老板認(rèn)可的事情,再加上我覺得他在組織過程中出現(xiàn)了一些失誤,導(dǎo)致這個項目盡力了大半年我們的努力后,還是被老板叫停,他也就走人了。細(xì)細(xì)想來,其實如果他如果專業(yè)點(并不是說他的編程能力很差),這個項目應(yīng)該是不會失敗的,因為我們對業(yè)務(wù)非常熟悉了,不存在什么需求分析了,他根本就不注重軟件質(zhì)量的審核,他其實還是想走一下軟件工程方面的流程,但可惜很業(yè)余,導(dǎo)致我們在前期根本就沒有干什么事情,后面時間又緊迫的很,由于有幾個人還是才招來的,寫的東西簡直就是垃圾,但他看了他們的代碼竟然沒有說什么,因為時間太緊了,就湊合著用吧,結(jié)果導(dǎo)致寫出的版本各種bug,公司老板看了后直接叫停,其實歸根到底他對c++不熟,也沒有看過一些大師的書,倒是對linux編程還行,用結(jié)構(gòu)型的思想去編寫一個大型客戶端,想成功真的很難,加上他對于代碼質(zhì)量沒有要求,bug叢生也是情理之中的事,但是他的領(lǐng)導(dǎo)能力還是可以的,我們還是真心把他當(dāng)領(lǐng)導(dǎo)看!我相信如果是由我來協(xié)調(diào)的話這個項目還是沒問題的,關(guān)鍵是我沒有話語權(quán),而且組員也不可能聽我的,我也沒有那個領(lǐng)導(dǎo)能力。但這也是個不錯的經(jīng)驗啊,因為在這次過程中,我總是想如果我是他我會怎么做,這次項目失敗的問題在哪,以后如果我成主管了我會怎么規(guī)避,我相信以后我會有這個機(jī)會的。在此期間我還從事了android手機(jī)監(jiān)控客戶端的開發(fā),還是由我和另外一個同事合作完成的,當(dāng)時我還算是他的徒弟吧(雖然我壓根沒把他當(dāng)老師),他用ndk寫底層協(xié)議,我寫界面部分,最后他跳槽了,這個工作就交由我一個人完成,由于我要去不斷滿足客戶的要求,所以我也必須看他寫的底層協(xié)議,我看了以后,當(dāng)時就驚呆了,我覺得他寫的東西只能說基本完成了相關(guān)功能,從穩(wěn)定,健壯,代碼質(zhì)量,還不談效率方面,簡直就是rubbish,請允許我這么罵(我不爽他很久了,正好在這里泄憤一下,但我確實說的很客觀),我看了這份代碼以后,我就不想碰它,沒辦法,我就直接自己重寫,可能大家覺得你太自傲了把,總是覺得自己牛b?但我沒必要裝b,因為我寫這篇博客的初衷不需要我裝b,我也不想重寫,而且還浪費時間,但沒辦法,因為客戶的需要是不斷提高的,他寫的代碼根本就沒有一點擴(kuò)展能力,而且有些邏輯也不是很正確,結(jié)果后面一段經(jīng)歷驗證了我的想法,有一個客戶需要我們寫個手機(jī)sdk,由于我在重寫開始就非常注意代碼的擴(kuò)展能力,迅速就寫出來了,因為我的代碼本身就是sdk,雖然我只是自己用,但我在寫的過程中,總是把自己當(dāng)做一個客戶,想著以后會有什么,可能會有什么需求。另外在寫這份代碼我并不是只是把它當(dāng)做工作,我總是把我新學(xué)的東西想法設(shè)法的去用,所以我的收獲很大!這就是我一年半的經(jīng)歷,不是很完美,但對于后來人還是有些可以借鑒的東西,至少我這么認(rèn)為。
? ? 說了這么多,我想告訴大家的是,當(dāng)程序員要有靈氣,所謂靈氣并不是說你要有多聰明,關(guān)鍵是你要去多想,多結(jié)合身邊的東西,不要為學(xué)到一門應(yīng)用而沾沾自喜,比如你會用某個API了,可是你知道它的實現(xiàn)機(jī)制嗎?當(dāng)然有時候不需要你去知道,但你能不能去多了解呢?也許以后你也可以去借鑒啊!東西只有徹底理解了,才是自己的,那個時候你可以對自己吼兩聲??傊粷M足于別人的東西,要有拿來主義,多借鑒別人的思想,為以后自己的實現(xiàn)去做積累。但說到多想,我覺得我們自己真的是要多看看書,人外有人,天外有天,人的青春沒有幾年,禁不起浪費,想想以后你要娶老婆,生孩子,你就壓力山大啊,所以在公司對我們期望值不高的情況下,多讀點書吧,不然,等公司想給你擔(dān)子挑時,你又感覺自己的肩膀太脆!在讀書方面我覺得要多讀外國的經(jīng)典書籍,就拿c++來說吧,c++ primer 有沒有? effective c++有沒有,inside the c++ object model有沒有?C++.Templates_TheCompleteGuide 有沒有?沒有讀過幾本書,你想說你熟悉c++有點荒謬吧。再者,應(yīng)屆生好多人有一個特點是,寫的東西功能都能達(dá)到預(yù)期目標(biāo),但不注重細(xì)節(jié),內(nèi)存泄露比較嚴(yán)重,對于特殊狀況沒有處理機(jī)制,總之就是健壯性方面很少,但這個確實很致命,如果程序老是崩潰,別人還會用??所以我們要多注重細(xì)節(jié),這個觀念要建立!此外,我覺得我們作為程序員要有樂于分享自己收獲的習(xí)慣,我很鄙視那種剛愎自用,自己學(xué)的東西生怕別人知道的人,這種人不會有大出息!上面我不是提到有個人我很不爽嗎?不為別的,就是他總是自以為是,覺得自己很牛叉,跟別人探討問題總是認(rèn)為自己是對的,叫別人做點事情總是用命令的口氣,殊不知他不知道自己算個球??只不過是比我大一歲罷了,寫的東西還爛得要死,我不知道哪個公司竟然還會收了他,他最讓我不爽的是一件事情:他對c++有個問題不是很了解,然后碰巧我在這方面還知道些東西,就讓我教他,我二話不說,熱心的跟他講,講了以后我還把我以前學(xué)習(xí)時寫的demo給他看,可是偶然的機(jī)會他不知道在哪里弄到一份代碼,有個東西他不清楚又問我,我看了給他講解后,發(fā)現(xiàn)這個代碼寫的還不錯,想研究下,問他要來看看,結(jié)果他竟然不給,我當(dāng)時真的是很無語了,本來我對他沒什么成見的,我也不是很難相處的人,但我覺得我通過這件事情就可以知道他不可能會是我的朋友,這種人不能跟他交心!事實上他確實有很多缺點(不是我一個人認(rèn)為的哦),我覺得歸根到底還是他的人品不咋地。所以我覺得我們不要做那種人,有東西給大家分享對你也會有好處,有時候收獲的是一份衷心的感謝,有時候收獲的是一份你對該技術(shù)的透徹理解(講的出來的東西可能才是真正理解的東西),有時候收獲的是一份友誼,有時候收獲的是一份人脈!事實上我一直都是這么做得,在大學(xué)時候我有考研的經(jīng)歷,但是失敗了,后來有學(xué)弟要考研,于是我就給他將考研的要點,需要做什么,不能做什么,總之就是掏心掏肺的跟他說一些要點,結(jié)果后來他一直聯(lián)系我,說他考上了,總是感謝我,我由于有時候忙,到很少主動聯(lián)系他,但他每到節(jié)日了就給我發(fā)短信,透露感激之情,我想他是真心感謝我吧。我寫這篇博客的目的也是為了給應(yīng)屆畢業(yè)生有所幫助,或者讓他們通過我的失敗去總結(jié)經(jīng)驗。對于應(yīng)屆畢業(yè)生我覺得我還要提醒的是,找工作之前的準(zhǔn)備很重要!也許你并不優(yōu)秀,也許你缺乏底蘊,也許你的根基不好,但這并不是很最糟糕的事情,最糟糕的事情是你沒有充足的準(zhǔn)備,簡歷寫的好不好,一些考題有沒有做過,應(yīng)聘公司的信息是否了解的充分,等等。這些都是要思考的問題,在應(yīng)聘過程中不要畏畏縮縮的,如果你連這點勇氣都沒有,那就該以后好好鍛煉一下了,因為不管做什么事情,心理素質(zhì)很重要,抗壓能力要強(qiáng)!
? ? 說了這么多,我其實還沒把我的東西說的很詳細(xì),但又倒不出了,等以后有靈感了在寫吧,今天就寫到這,真心希望應(yīng)屆畢業(yè)生都能有個不錯的起點,然后好好打拼,收獲個不錯的未來!到了該長大的年紀(jì)了,要有承擔(dān)責(zé)任的態(tài)度了,不僅僅是對自己負(fù)責(zé),你該為自己的家人,朋友負(fù)責(zé)了!
轉(zhuǎn)載于:https://blog.51cto.com/zliang/1158525
總結(jié)
以上是生活随笔為你收集整理的一个c++程序员的学习历程自述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows Server2008R2
- 下一篇: oracle 学习日志