我不知道各位還記不記得我說(shuō)過(guò)一句話,我也是程式之人。
我不是在誇獎(jiǎng)我程式寫(xiě)得多厲害,現(xiàn)在也沒(méi)有寫(xiě)的很厲害。
做過(guò)這行的應(yīng)該都知道,能用>寫(xiě)好。
寫(xiě)得不好看,能正常用就好。
會(huì)出現(xiàn)Bug,沒(méi)被發(fā)現(xiàn)就好。
愈快顯得強(qiáng),慢工細(xì)活難看。
而我做這行兩年以上(以當(dāng)前總資歷),就算懂得比較多了,會(huì)不會(huì)被賞識(shí)又是另一回事。
而且,經(jīng)過(guò)我身旁的多人驗(yàn)證,除非你強(qiáng)到別人很難取代你的程度,不然就跟其他行業(yè)一樣,到一定的年齡,就會(huì)被拉下了。
而在我們公司現(xiàn)在這好讀書(shū)的環(huán)境下,靜下心看著看著,我反而找回當(dāng)年寫(xiě)程式的熱誠(chéng)的。
多大是成就感,但這就表示,我必須跟你們分享的一件事,程式的工作不會(huì)讓你有特別的成就感。
就算身邊的人說(shuō)你很厲害,我的感覺(jué)都是,就像朋友從美國(guó)回來(lái)般,都是話題而已,最多就是被利用。(有好幾次差點(diǎn)被利用拉,就是做白工,但幸好都被我職業(yè)性的要求回絕掉了)
而且我也抱著一種決心讀這些書(shū),就是這些書(shū)或許未來(lái)沒(méi)機(jī)會(huì)用到,如果有認(rèn)真看上面敘述的話,我就是在說(shuō)如果未來(lái)都很忙的時(shí)候的情況。
但我看這些書(shū),不只找回?zé)嵴\(chéng),也找回單純看書(shū),獲得知識(shí)的喜悅感,這才是我想要的,就是在讀任何一本書(shū)時(shí),不抱著太大的期望,只是想獲取知識(shí)的純心。
--------------------------------
而接下來(lái)我介紹的這些書(shū),不一定都是好評(píng)(對(duì)我而言),也不一定適合初心者。
雖然我只會(huì)介紹兩本(大學(xué)當(dāng)課本的書(shū)也想介紹但忘了內(nèi)容,所以就不硬介紹),但我之後有時(shí)間跟能力的話,也會(huì)新增幾篇介紹(但目前的心情蠻迷茫的,甚至有不想做程式設(shè)計(jì)師的念頭)。
而我要做得勸戒,我相信也不太會(huì)有改變。
好拉廢話太多,第一本,這是曾經(jīng)同事,也算師傅,介紹的。
因?yàn)楫?dāng)時(shí)還算初心者的我,就算做得出來(lái),也寫(xiě)得很爛。
再加上我對(duì)於程式方面的相關(guān)知識(shí)很少(特別是專有名詞),所以當(dāng)時(shí)他真的很推薦我讀一些類似的書(shū)。
而我相信這本也很多人在推薦,他不只運(yùn)用在遊戲上(當(dāng)然也不是只能用在Unity上),也可以用在很多方面上(哪方面?其實(shí)很多,多到我怕說(shuō)了還不夠,我也不太會(huì)說(shuō),因?yàn)槲夷壳坝龅降念I(lǐng)域還算少)。
而我從這本學(xué)會(huì)的最精華,就是繼承,我相信有寫(xiě)程式的人都知道,甚至讓我回想起以前面試的蠢事(就是被問(wèn)還裝作很懂亂說(shuō)這樣)。
而以前我認(rèn)為繼承並沒(méi)有很重要(畢竟還是做出來(lái)做重要啦),但自從看了這本後,我發(fā)現(xiàn)如果養(yǎng)成好習(xí)慣,真的可以給自己減少很多麻煩。
但工作,大部分是團(tuán)隊(duì)合作,若夥伴,最重要是上面的主管,不喜歡這樣的風(fēng)格,你還是要遵守(不遵守就理所當(dāng)然自行負(fù)責(zé)拉,有膽的話我算是蠻推薦照著這本方式寫(xiě),但我認(rèn)為如果很懂程式的人,看到基本上是會(huì)欣賞拉)。
簡(jiǎn)單來(lái)說(shuō),就是寫(xiě)一個(gè)蠻空,只有一堆空f(shuō)unction,甚麼實(shí)作都沒(méi)有(頂多排序,就是一個(gè)主function裡面命令其他小function執(zhí)行,而底層的這些小function是空的),然後交給子類別繼承後去實(shí)作。
而裡面也有算蠻詳細(xì)的說(shuō)可以運(yùn)用在哪點(diǎn),跟有那些缺點(diǎn),這麼詳細(xì)的說(shuō)明,是我喜歡這本書(shū)的地方。
--------------------------------
接下來(lái)第二本,老實(shí)說(shuō)我不知道放上來(lái),會(huì)不會(huì)害到大家XD。
這本反而是我希望真的有底子的人在看,主要是為了怕各位會(huì)把這本當(dāng)作聖經(jīng)。
首先,我下個(gè)安全警告,如果遇到類似的問(wèn)題,不要真的完全照這本的範(fàn)例code去做,因?yàn)樗墓?fàn)例只能用在當(dāng)下的例子,而且資料處理,多大是要處理動(dòng)態(tài)或不知道會(huì)有多少的時(shí)候(我遇到這類狀況比較多拉)。
若是這樣的話,更不推薦照範(fàn)例code,再讓我把這本書(shū)的缺點(diǎn)說(shuō)完。
再來(lái)是他介紹演算法的時(shí)候,都是只有提到,之後就馬上範(fàn)例,不知是把看書(shū)=上課的方式撰寫(xiě),看中範(fàn)例。
但我必須老實(shí)說(shuō),因?yàn)檫@本書(shū)是要推薦給初心者看的,但你這得撰寫(xiě)方式,很多人我猜拉,都是一知半解。
那如果是一知半解的情況下,再把這本當(dāng)聖經(jīng),真的會(huì)很慘。
而優(yōu)點(diǎn)的呢......真的不多,就是把經(jīng)典,常用的,都"提"到而已。
還有另一個(gè)小缺點(diǎn)也蠻好笑的,就是把安裝(可以讓你寫(xiě)code)環(huán)境教學(xué)放最後,看來(lái)這本還是不適合給初心者拉,更不可能給對(duì)程式0程度的人(但現(xiàn)在也有很多可以網(wǎng)頁(yè)上運(yùn)行的,如果只是要測(cè)試,我有時(shí)工作也會(huì)用到,那就可以用線上網(wǎng)頁(yè)的看看,這樣就不會(huì)浪費(fèi)時(shí)間)。
另外一個(gè)蠻有趣的優(yōu)點(diǎn)是,比較偏個(gè)人拉,因?yàn)檫@本的關(guān)係,我愈來(lái)愈會(huì)玩遞迴(就是在任務(wù)還沒(méi)結(jié)束前,因?yàn)榇蟛糠侄际侵匮}從頭到尾的動(dòng)作,所以再call一次自己,指一個(gè)function)。
我工作上第一次玩遞迴是在目前這家公司,這件事之後還被另一位主管問(wèn),說(shuō)不建議初心者玩。
但通常會(huì)用遞迴就是,任務(wù)總執(zhí)行次數(shù)不固定,也不可能取平均次數(shù)來(lái)撰寫(xiě)吧?
愈會(huì)玩這招知後,甚至克服了以前我面試遇到過(guò)的問(wèn)題,這點(diǎn)倒是讓我挺爽的。 --------------------------------
而關(guān)於程式這條路上,雖然看似無(wú)傷大雅,但也是經(jīng)歷過(guò)數(shù)次波折。
加上拆夥事件,更是讓我認(rèn)為程式可有可無(wú)。
但自從靜下來(lái)看這些書(shū)後,我發(fā)現(xiàn)我找回了另一個(gè)快樂(lè)(甚麼快樂(lè)請(qǐng)回去看上面)。
也讓我又重新產(chǎn)生對(duì)程式的多種創(chuàng)作,因?yàn)槲乙郧白畲蟮某踔跃褪怯贸淌奖磉_(dá)我的創(chuàng)作。
我不知道這條路我會(huì)走多久,但我認(rèn)為這就是過(guò)程。
沒(méi)走過(guò),哪知道自己是不是真的有耐心,是不是真的有熱情。
沒(méi)走過(guò),哪知道自己的理想是夢(mèng)中幻想,是不是只有這程度。
希望各位走這條路,我不知道你的初衷是捨,但別輕易捨棄,也不用到夢(mèng)想到手再放棄拉,很累,再說(shuō)夢(mèng)想到手就放棄,那真的是夢(mèng)想嗎XD(嘲諷技能開(kāi)好開(kāi)滿)。
也別輕易停在幻想,我之前也有假設(shè)最低理想,若沒(méi)辦法"玩大"的創(chuàng)作,就回頭用寫(xiě)的吧。
而在這裏也跟這位稍微分享一下關(guān)於程式書(shū)籍的計(jì)畫(huà)。
我目前有訂購(gòu)關(guān)於"無(wú)瑕的程式碼"系列,這本也是前面提到的前輩大推。
而我自己也有想到一個(gè)方向(比如圖解演算法就是我自己想到的),就是因?yàn)槲铱淳W(wǎng)路的解說(shuō)比較靜不下心(很怕資訊不足,寫(xiě)錯(cuò),亂教或過(guò)期),所以打算找一本關(guān)於運(yùn)用cmd的詳細(xì)說(shuō)明(我是會(huì)一點(diǎn)點(diǎn)點(diǎn)啦,特地打三個(gè)是因?yàn)楹苤匾猉D),而這東西我相信各位工作也都有遇到,所以......我認(rèn)為我這次分享挺有滿足感的XD~