溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

優(yōu)秀Web開(kāi)發(fā)者提升開(kāi)發(fā)能力必知的事有哪些

發(fā)布時(shí)間:2021-10-14 15:55:11 來(lái)源:億速云 閱讀:103 作者:小新 欄目:移動(dòng)開(kāi)發(fā)

這篇文章主要介紹了優(yōu)秀Web開(kāi)發(fā)者提升開(kāi)發(fā)能力必知的事有哪些,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。


  1. 不要只盯著代碼
  如今人人都會(huì)寫代碼。很多業(yè)余愛(ài)好者也可以搭建網(wǎng)站、編寫應(yīng)用程序,編程已經(jīng)不再稀奇。
  隨著網(wǎng)絡(luò)的普及,許多人只需通過(guò)自學(xué)就會(huì)編程,但無(wú)論是自學(xué)者還是科班出身的開(kāi)發(fā)者們都有一些同樣的問(wèn)題。我面試過(guò)一些有很高學(xué)歷的應(yīng)聘者,這些人大多獲得了計(jì)算機(jī)學(xué)位、修過(guò)AI課程,擁有各色計(jì)算機(jī)等級(jí)證書,但他們?nèi)匀蝗狈σ恍┖苤匾恼J(rèn)識(shí)。
  開(kāi)發(fā)者們不應(yīng)該只盯著代碼,還需要注意開(kāi)發(fā)工作中的兩個(gè)方面——橫向面和縱向面,比如,開(kāi)發(fā)者應(yīng)該懂得如何在團(tuán)隊(duì)里與別人協(xié)作,也應(yīng)該清楚開(kāi)發(fā)項(xiàng)目中系統(tǒng)層面的設(shè)計(jì)。
  我認(rèn)為與開(kāi)發(fā)者合作的人也應(yīng)該閱讀這篇文章。因?yàn)槿绻銓?duì)開(kāi)發(fā)了解越多,你可以在合作的時(shí)候?qū)﹂_(kāi)發(fā)者提出更高的要求,比如讓他們概括出討論的問(wèn)題,讓他們提煉出系統(tǒng)的核心功能,用圖片和實(shí)例展現(xiàn)應(yīng)用實(shí)現(xiàn)的功能等。

  2. 重要提醒
  我想我有資格給開(kāi)發(fā)者們挑毛病,因?yàn)槲乙彩且幻_(kāi)發(fā)者,并且我了解開(kāi)發(fā)者一些共有的問(wèn)題,盡管他們對(duì)代碼了如指掌,并且能按時(shí)完成工作。但他們?nèi)匀灰⒁鈨煞矫妫焊鼘I(yè)和更具人性化。
  3. 網(wǎng)絡(luò)影響
  你只要搜索一下專業(yè)網(wǎng)站上面的開(kāi)發(fā)技術(shù)就可以得到許多答案。比如框架知識(shí)、瀏覽器、CSS 和JS。搜索引擎會(huì)為你找出需要的框架、平臺(tái)和應(yīng)該關(guān)注的發(fā)展趨勢(shì)。
  而這些東西只是我們的工具,它們幫助我們構(gòu)造項(xiàng)目,但是它們不是項(xiàng)目成功的關(guān)鍵。即使一個(gè)開(kāi)發(fā)者了解系統(tǒng)中每個(gè)細(xì)節(jié)、掌握了所有API功能和新的CSS技術(shù),他也可能會(huì)開(kāi)發(fā)出毫無(wú)意義的產(chǎn)品。
  開(kāi)發(fā)者需要知道如何運(yùn)用工具,同樣也需要了解觀眾,也就是用戶、團(tuán)隊(duì)和其他開(kāi)發(fā)者。他們需要了解他們的工具對(duì)環(huán)境的適應(yīng)程度(換句話說(shuō),產(chǎn)品的環(huán)境)以及工具的用處。
  有一種開(kāi)發(fā)者被描述為“wide and deep”,這種開(kāi)發(fā)者懂得如何做好團(tuán)隊(duì)合作,同時(shí)掌握著開(kāi)發(fā)的核心技術(shù)。如果他們加入項(xiàng)目,會(huì)大幅度提升項(xiàng)目進(jìn)程,改變項(xiàng)目的步調(diào),如果沒(méi)有他們,非技術(shù)人員就會(huì)陷入一些瑣碎細(xì)節(jié)中停滯不前。
  4. 我們需要的
  我最近正在列一份清單,上面羅列了建立網(wǎng)站、管理主機(jī)需要的所有東西,可以作為新人學(xué)習(xí)技術(shù)的基礎(chǔ)指南。我們通過(guò)不斷的探討來(lái)修改清單的內(nèi)容,希望這份清單能為新人建立一個(gè)好的開(kāi)始。
  我們給出的清單包含了大部分學(xué)習(xí)開(kāi)發(fā)需要的知識(shí)。其中有經(jīng)典常用的工具,也有一些新式工具。
  在開(kāi)發(fā)實(shí)踐中,這些工具對(duì)推進(jìn)項(xiàng)目的進(jìn)展很有幫助,優(yōu)秀開(kāi)發(fā)者的工具積累應(yīng)該比編程語(yǔ)言、CMS、框架這些知識(shí)更豐富。因?yàn)槟阈枰{(diào)度、測(cè)試、CI、強(qiáng)化版本控制(團(tuán)隊(duì)合作,不是單靠你自己),同時(shí)你不能只了解幾條指南,還需要了解項(xiàng)目的核心理念。
  5. DevOps
  這些輔助工具和技巧適用于DevOps模式(DevOps是一組過(guò)程、方法與系統(tǒng)的統(tǒng)稱,用于促進(jìn)開(kāi)發(fā)、技術(shù)運(yùn)營(yíng)和質(zhì)量保障部門之間的溝通、協(xié)作與整合)。一直以來(lái),DevOps模式中“運(yùn)營(yíng)”和“開(kāi)發(fā)”的對(duì)決都難分高下。運(yùn)營(yíng)主要用來(lái)保持事物的運(yùn)作。而開(kāi)發(fā)用來(lái)研制新事物(往往使事物停止運(yùn)作)。這種矛盾導(dǎo)致了兩個(gè)陣營(yíng)爭(zhēng)執(zhí)不休。
  假如開(kāi)發(fā)者不能充分了解產(chǎn)品,他開(kāi)發(fā)的功能往往與產(chǎn)品不匹配,這樣寫出來(lái)的代碼也不適合產(chǎn)品。因?yàn)樗麄儧](méi)有考慮過(guò)產(chǎn)品的使用環(huán)境,所以他們的編碼忽視了與產(chǎn)品的調(diào)配,而將重心放在了功能的完善中。
  要注意,這些細(xì)節(jié)都會(huì)導(dǎo)致可怕的延遲,而遠(yuǎn)程服務(wù)器管理的形式則會(huì)加劇這種延遲。
  如果想成為優(yōu)秀的開(kāi)發(fā)者,就應(yīng)該深入學(xué)習(xí)開(kāi)發(fā)過(guò)程中所使用的所有工具。一旦開(kāi)發(fā)者全部學(xué)會(huì)了這些工具的用法,將會(huì)有很大的進(jìn)展。
  持續(xù)部署和DevOps的相關(guān)實(shí)踐已成為了一種標(biāo)準(zhǔn),還沒(méi)有對(duì)這些理念進(jìn)行研究的開(kāi)發(fā)者或公司已經(jīng)落伍了。如果你跟不上發(fā)展的步伐,那么其他人總有一天會(huì)超過(guò)你。
  網(wǎng)上有許多對(duì)“DevOps”概念的介紹,這種理念與PHP、MySQL或是Rails不一樣。它是降低軟件和工程協(xié)作風(fēng)險(xiǎn)的一系列方法。DevOps理念關(guān)注的問(wèn)題主要在于調(diào)度、自動(dòng)化和保持生產(chǎn)流水線更快更好的運(yùn)行。
  如果你使用了這種開(kāi)發(fā)模式,你會(huì)發(fā)現(xiàn)無(wú)論是在其他部門還是其他公司之間,開(kāi)發(fā)者們都能有良好的團(tuán)隊(duì)協(xié)作。如果他們通過(guò)API與第三方合作,他們會(huì)研究對(duì)方可能出現(xiàn)的問(wèn)題。但如果他們與服務(wù)器管理員合作,他們只會(huì)關(guān)心他們需要如何配置以及他們的軟件如何安裝在服務(wù)器上,這樣做遺留的問(wèn)題是很麻煩的。
  6. 代碼調(diào)錯(cuò)
  Onion’s 首席技術(shù)官M(fèi)ichael Greer在關(guān)于Web開(kāi)發(fā)者必會(huì)技能的問(wèn)題上給出了一個(gè)很好的答案:
  “懶惰”:拒絕兩次做同一件事情——寫一個(gè)腳本或算法來(lái)實(shí)現(xiàn)
  “懦弱”:經(jīng)常測(cè)試,擔(dān)心過(guò)載和代碼影響
  “魯莽”:經(jīng)常嘗試新鮮事物
  “懦弱”是注意細(xì)節(jié)的另一種說(shuō)法。要知道,開(kāi)發(fā)者的生活中百分之九十九是由調(diào)錯(cuò)和測(cè)試組成的。
  開(kāi)發(fā)者要了解的是,修復(fù)應(yīng)用程序不僅要懂得挑錯(cuò)誤代碼,還需要出色的解決問(wèn)題能力。比如,解決用戶的發(fā)票不能下載的問(wèn)題,不需要花費(fèi)一天的時(shí)間來(lái)開(kāi)發(fā)生成PDF文件的功能,只要簡(jiǎn)單的將頁(yè)面設(shè)置成可打印即可。有時(shí)一條鏈接比一個(gè)星期的編程更能解決問(wèn)題,而一個(gè)只知道寫代碼的程序員很難想到這樣的捷徑。
  盡管目前有各種各樣的測(cè)試工具,但測(cè)試對(duì)開(kāi)發(fā)者來(lái)說(shuō)依舊是一個(gè)奇妙的盲點(diǎn)。開(kāi)發(fā)者應(yīng)該學(xué)會(huì)使用單元測(cè)試、Selenium、負(fù)載測(cè)試和像 Xhprof這樣的分析工具。還應(yīng)該學(xué)會(huì)使用一些性能檢測(cè)工具,比如NewRelic,這些工具可以幫助你保持應(yīng)用程序盡量少的占用內(nèi)存。
  調(diào)錯(cuò)也是開(kāi)發(fā)中一個(gè)重點(diǎn)環(huán)節(jié)。因此,開(kāi)發(fā)者們不僅要學(xué)會(huì)運(yùn)用調(diào)錯(cuò)工具,還要知道如何為一個(gè)問(wèn)題調(diào)錯(cuò)——我對(duì)Michael Greer的清單做一點(diǎn)關(guān)于調(diào)錯(cuò)的補(bǔ)充:
  “急躁”:忽略那些無(wú)關(guān)緊要的問(wèn)題,將時(shí)間用在解決真正的問(wèn)題上
  以上就是一些基礎(chǔ)原則,開(kāi)發(fā)者要學(xué)會(huì)抓住主要,忽略次要。真正的開(kāi)發(fā)高手不看代碼就能找出問(wèn)題。不幸的是,許多人容易盲目的對(duì)一個(gè)無(wú)關(guān)緊要的問(wèn)題推敲數(shù)十小時(shí)甚至好幾天,解決一個(gè)問(wèn)題也要用同樣的方法試驗(yàn)十多次。

  7. 用戶需求
  作為開(kāi)發(fā)者,要懂得其他人的真正需求。你可以盡情享受編碼帶給自己的樂(lè)趣,但與此同時(shí)要清楚所有的代碼都是有用的。
  開(kāi)發(fā)者們需要了解業(yè)務(wù)、操作和業(yè)務(wù)流程,這些會(huì)有對(duì)開(kāi)發(fā)工作很有幫助。只有懂得這些,開(kāi)發(fā)者才可以開(kāi)發(fā)出符合用戶要求的產(chǎn)品。一些開(kāi)發(fā)者能顯示出不同尋常的生產(chǎn)力,不僅由于他們快速的編碼能力和淵博的堆棧知識(shí),更大的原因是他們懂得用戶真正的需求。
  回到我最初的觀點(diǎn),現(xiàn)在的開(kāi)發(fā)變得越來(lái)越容易,對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)市場(chǎng)也變得更有競(jìng)爭(zhēng)力了。想要更加出色,就要懂得業(yè)務(wù)需求、開(kāi)發(fā)出讓客戶滿意的產(chǎn)品。因此,開(kāi)發(fā)者應(yīng)該關(guān)注市場(chǎng)。
  懂得數(shù)據(jù)如何隨時(shí)間變化。以開(kāi)發(fā)者的角度考慮,這些數(shù)據(jù)應(yīng)隨著目前流行的或即將流行的技術(shù)一起改變。這樣看來(lái),當(dāng)你的客戶提出一個(gè)新點(diǎn)子時(shí),應(yīng)該考慮到用戶的實(shí)際需求,并且提前做好預(yù)算。(相反,最壞的情況是,開(kāi)發(fā)者宣稱他們的新技術(shù)可以解決所有問(wèn)題。)
  開(kāi)發(fā)者們需要掌握很多方面——比如了解終端數(shù)據(jù)庫(kù)的每個(gè)領(lǐng)域,如果數(shù)據(jù)發(fā)生改變,客戶端會(huì)如何顯示?有沒(méi)有更好的方法解決問(wèn)題?數(shù)據(jù)庫(kù)管理員們往往認(rèn)為,外界對(duì)數(shù)據(jù)庫(kù)的反映很糟糕,但其實(shí)是他們展現(xiàn)給了外界一個(gè)很糟糕的數(shù)據(jù)庫(kù)。這個(gè)世界充滿了混亂和不可思議的情況,數(shù)據(jù)庫(kù)管理員們一定要學(xué)會(huì)如何應(yīng)對(duì)。
  8. 繪圖和書寫
  繪圖是最直接的描述事物的途徑。開(kāi)發(fā)者們必須有能力將他們的構(gòu)想在白板、紙上展現(xiàn)出來(lái)。
  優(yōu)秀的開(kāi)發(fā)者要能通過(guò)紙上繪制原型圖來(lái)表述清楚意圖。如果開(kāi)發(fā)者只會(huì)點(diǎn)頭、空口談?wù)摶蚴侵粫?huì)使用編輯器演示,那么很難取得別人的信任。
  最好的代碼從速成的繪畫原型開(kāi)始,多次失敗可以讓你成功的更快。
  9. 享受樂(lè)趣
  如果要你花費(fèi)數(shù)十小時(shí)去解決一個(gè)問(wèn)題,你會(huì)怎么對(duì)待?
  學(xué)會(huì)享受這種過(guò)程——即使這只是一般的工作。作為開(kāi)發(fā)者,最失敗的態(tài)度就是對(duì)團(tuán)隊(duì)的工作毫無(wú)興趣。遺憾的是這樣的情況很普遍,發(fā)生這種情況往往是由于開(kāi)發(fā)者們沒(méi)有把自己視為團(tuán)隊(duì)的一員。(熱忱的程序員會(huì)使自己“在工作中得到更多的樂(lè)趣”,你也可以試試)
  Web和應(yīng)用程序的開(kāi)發(fā)仍然屬于新興領(lǐng)域,計(jì)算機(jī)技術(shù)的發(fā)展需要更多的高級(jí)開(kāi)發(fā)者。開(kāi)發(fā)者們不能滿足于現(xiàn)狀,需要盡快投入到高級(jí)開(kāi)發(fā)行列中,提升開(kāi)發(fā)工作的效率。
  10. 保持銳氣
  這是我要說(shuō)的最后一件重要的事情:
  保持銳氣,尋求競(jìng)爭(zhēng),無(wú)論到哪個(gè)團(tuán)隊(duì)都成為最挑剔的那個(gè)。
  團(tuán)隊(duì)中最挑剔的、也最惹人討厭的開(kāi)發(fā)者往往是開(kāi)發(fā)能力最強(qiáng)的角色,而其他人往往滿足于現(xiàn)狀。如果團(tuán)隊(duì)中缺乏這些高要求就很容易造成團(tuán)隊(duì)進(jìn)度緩慢、競(jìng)爭(zhēng)力下降。提高自身要求是一種很好的習(xí)慣。
  開(kāi)發(fā)者們還可以通過(guò)工作以外的項(xiàng)目獲得更多的經(jīng)驗(yàn),并且學(xué)會(huì)總結(jié)在這些項(xiàng)目中得到的反饋和批評(píng)?,F(xiàn)在得到的批評(píng)越多,將來(lái)的批評(píng)就越少。當(dāng)有一天你開(kāi)始對(duì)別人提出的要求進(jìn)行更全面的考慮,那時(shí)你就成為了炙手可熱的高級(jí)開(kāi)發(fā)者了。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“優(yōu)秀Web開(kāi)發(fā)者提升開(kāi)發(fā)能力必知的事有哪些”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

web
AI