開(kāi)發(fā)菜鳥(niǎo)應(yīng)該知道的10件事情
剛開(kāi)始接觸開(kāi)發(fā),你也許會(huì)有些迷茫,不知道從哪里開(kāi)始,這個(gè)領(lǐng)域?qū)嵲谑怯泻芏嘀R(shí)要學(xué)習(xí)。比如你可能會(huì)問(wèn)自己“我應(yīng)該學(xué)哪種編程語(yǔ)言?”“我是否在學(xué)習(xí)后端的時(shí)候需要去了解下前端?”等等。以下10個(gè)建議希望能幫助你盡早做出選擇。
1. 確定想掌握的技能
作為一個(gè)初學(xué)開(kāi)發(fā)的人,你真正需要的是只專(zhuān)注于某一方面。了解很多語(yǔ)言確實(shí)有用,但精通其中一種才是你的優(yōu)勢(shì)所在。雖然精通很多語(yǔ)言也并非不可 能,但對(duì)初學(xué)者來(lái)說(shuō),這是需要時(shí)間的。因此,你需要做的是集中精力學(xué)習(xí)一種技能,并努力成為這一領(lǐng)域的專(zhuān)家。你可以從PHP、Ruby on Rails、ASP.net和C#中的某一種開(kāi)始,但一定要學(xué)得很精!在掌握了這門(mén)語(yǔ)言并能熟練運(yùn)用后,你便可以明顯開(kāi)始涉及其他領(lǐng)域了。
前端設(shè)計(jì)師也是一樣的,他們從HTML或CSS開(kāi)始,然后再按照個(gè)人興趣學(xué)習(xí)JavaScript、jQuery或AJAX。也許你同時(shí)學(xué)習(xí)了 HTML與CSS,那是因?yàn)樗鼈兛梢砸黄鹗褂茫悴荒茉谕粫r(shí)間掌握PHP 和 ASP.net,除非你每天花20個(gè)小時(shí)來(lái)一點(diǎn)一點(diǎn)地學(xué)習(xí)它們。
開(kāi)發(fā)新手也許還不知道什么是底層語(yǔ)言,因此很難做出選擇,這幾個(gè)建議能幫助你選擇初學(xué)的語(yǔ)言:如果你想開(kāi)發(fā)WordPress類(lèi)的,就選擇PHP 語(yǔ)言;如果想開(kāi)發(fā)管理系統(tǒng),就選擇ASP.net;如果想開(kāi)發(fā)iPhone的游戲,就選擇C#。在開(kāi)始正式的學(xué)習(xí)之前花點(diǎn)兒時(shí)間去了解下每種語(yǔ)言對(duì)應(yīng)的開(kāi) 發(fā)功能,能幫你做出對(duì)自己來(lái)說(shuō)正確的選擇。
2. 正確地學(xué)習(xí)編程語(yǔ)言
另外,不管學(xué)習(xí)的是哪種語(yǔ)言,都要正確地學(xué)。不僅僅是我,包括HTML的專(zhuān)家都認(rèn)為學(xué)習(xí)HTML應(yīng)該從寫(xiě)表單代碼開(kāi)始。以***的Web標(biāo)準(zhǔn)來(lái)編程看似是無(wú)用的,但其實(shí)這是非常重要的,因?yàn)樗粌H可以提高你產(chǎn)品的加載速度,還易于使用。
3. 谷歌是個(gè)好幫手
我相信無(wú)論你遇到什么問(wèn)題,谷歌都能幫你解決。我是Coding Forums論壇的粉絲,如果你遇到困難,相信我,絕對(duì)要上這兒來(lái)找答案。但是在論壇里問(wèn)問(wèn)題之前,先到谷歌里搜索一下,因?yàn)榇蠖鄶?shù)時(shí)候你都能找到解決問(wèn)題的辦法,或者至少給了你解決問(wèn)題的思路。
4. 復(fù)制代碼
這是對(duì)于大多數(shù)設(shè)計(jì)師來(lái)講的,因?yàn)樵陂_(kāi)始寫(xiě)自己的布局代碼之前,他們需要了解一些前端設(shè)計(jì)的知識(shí),所以我建議可以先借鑒一下其他人的頁(yè)面和代碼, 如果碰到喜歡的container設(shè)計(jì),看看源代碼并分析一下,其實(shí)這也是大多數(shù)人學(xué)習(xí)寫(xiě)代碼的做法??梢詮?fù)制粘貼一些代碼片段,但是絕對(duì)不要抄襲別人的 設(shè)計(jì),因?yàn)檫@是不尊重別人的行為。如果設(shè)計(jì)和版權(quán)都為別人所有,那么這就是違法行為??赡苡腥瞬徽J(rèn)同我這個(gè)理論,但是我依然要說(shuō):可以到處復(fù)制代碼,但絕 對(duì)不要抄襲別人的設(shè)計(jì)。
5. 加入一個(gè)圈子
***加入一個(gè)與你學(xué)習(xí)的技能相關(guān)的圈子,這永遠(yuǎn)都是對(duì)開(kāi)發(fā)者和設(shè)計(jì)者有幫助的事情。當(dāng)你遇到困難在這個(gè)圈子里尋求幫助時(shí),最壞的情況是大家都沒(méi)法兒解決,你自己又得去谷歌搜索;***的情況是一些有趣的討論能給你幫助,甚至你可以加入到同伴的大開(kāi)發(fā)項(xiàng)目中,互助互利。
我的設(shè)計(jì)老師總是讓我去加一些討論組或類(lèi)似的網(wǎng)絡(luò)社區(qū),并和網(wǎng)友們互相引薦。不知道大家有沒(méi)有遇見(jiàn)過(guò)這樣的情況:在項(xiàng)目快要開(kāi)始前,自己都還不確 定是否能處理涉及到的所有工作。這個(gè)時(shí)候,推薦一個(gè)精通該領(lǐng)域的朋友,他可能做得比你好。這樣你不僅不會(huì)失去客戶,同時(shí)還能向他學(xué)習(xí),一舉兩得。在加入的 論壇或者社區(qū)等等里保持活躍總是益處多多的。
6. 了解設(shè)計(jì)師的想法
你應(yīng)該了解下設(shè)計(jì)師們都在做些什么,包括平面設(shè)計(jì)師和前端設(shè)計(jì)師,這樣你才會(huì)知道為什么有時(shí)候他們會(huì)交付一些以***Web標(biāo)準(zhǔn)來(lái)看,無(wú)法真正通過(guò) 編碼實(shí)現(xiàn)的靜態(tài)頁(yè)面。學(xué)習(xí)如何與他們交流,告訴他們無(wú)法實(shí)現(xiàn)的地方,并讓他們修改設(shè)計(jì),這些討論能讓你和設(shè)計(jì)師的關(guān)系更融洽,更利于工作的開(kāi)展。
7. 使用專(zhuān)業(yè)工具
雖然可以使用記事本來(lái)編寫(xiě)HTML和CSS,但我并不建議你使用。我認(rèn)為,如果你不能使用記事本正確地編寫(xiě)HTML和CSS代碼,那么你也不應(yīng)該 將記事本當(dāng)作PHP、ASP.net 或Ruby的默認(rèn)開(kāi)發(fā)工具。找到屬于你自己的專(zhuān)業(yè)工具,比如Dreamweaver、Coda等。它們幫你檢查錯(cuò)誤、自動(dòng)完成代碼、并給你提示。 Dreamweaver、Coda之所以是世界上***的IDE工具,是因?yàn)橛辛怂鼈兡憧偸悄艹晒Φ赝瓿扇蝿?wù)。
8. 將酷炫的東西留到***去學(xué)
每種編程語(yǔ)言都有自己的“cool version”,比如HTML有HTML5,CSS有CSS 3,JavaScript 有 jQuery 和 AJAX等等,我覺(jué)得從基本到炫酷的過(guò)程更利于你的成長(zhǎng),因?yàn)殪趴岬陌姹径际腔诨A(chǔ)語(yǔ)言的,就好比你只有理解了JavaScript才能寫(xiě)出 jQuery滑塊。
9. 積極獲取信息
了解與你所學(xué)習(xí)的語(yǔ)言相關(guān)的***消息是很必要的,新聞、博客、書(shū)籍或者視頻教程都是獲取信息的途徑,你也應(yīng)該對(duì)***信息保持關(guān)注并盡量爭(zhēng)取***手 資訊,努力為別人提供***的開(kāi)發(fā)產(chǎn)品。也許剛開(kāi)始的時(shí)候這并不容易(因?yàn)樵谛录夹g(shù)證明自己的價(jià)值之前,人們習(xí)慣于用舊技術(shù)),但我堅(jiān)信每個(gè)人都希望擁有***的技術(shù),這一點(diǎn)將讓你具備一定的優(yōu)勢(shì)并且敢為人先。
10. 學(xué)無(wú)止境
在你掌握了最初學(xué)習(xí)的那門(mén)語(yǔ)言并成為大師之后,便可以開(kāi)始轉(zhuǎn)向其他語(yǔ)言的學(xué)習(xí)。掌握的語(yǔ)言越多,越有利于你的職業(yè)生涯發(fā)展。關(guān)注重要的以及你感興趣的語(yǔ)言,從一個(gè)到兩個(gè)直到你掌握了大量的編程語(yǔ)言,這實(shí)際上也是成功之路。
結(jié)束語(yǔ):我知道對(duì)于新手來(lái)說(shuō),要在一個(gè)領(lǐng)域有很深的造詣不是件容易的事兒,但我希望以上的建議能夠幫助你。其實(shí)重點(diǎn)并不是你從哪兒開(kāi)始,而是你是否已經(jīng)開(kāi)始學(xué)習(xí),所以不要再浪費(fèi)寶貴的時(shí)間了,馬上找本書(shū)開(kāi)始你的學(xué)習(xí)吧!
【編輯推薦】