開干

          技術(shù)選型是企業(yè)項(xiàng)目研發(fā)中少不了的一個(gè)環(huán)節(jié),大部分情況下企業(yè)都是優(yōu)先采用開源免費(fèi)的技術(shù)框架。

          有實(shí)力的企業(yè)在選定技術(shù)框架后可能還會(huì)做一定的改造優(yōu)化,以更匹配自己的應(yīng)用場景,而大部分中小型企業(yè)則更多是對(duì)技術(shù)框架的應(yīng)用。

          ?


          所以對(duì)中小型企業(yè)來說,一個(gè)技術(shù)框架的選擇至關(guān)重要,因?yàn)樵诓痪邆涓脑扉_源框架能力的情況下,如果選擇了不合適企業(yè)實(shí)際情況的技術(shù)框架,可能解決不了問題,還會(huì)帶來新的問題。

          ?

          那么如何選擇一款既適合自己的團(tuán)隊(duì)又能解決當(dāng)下面臨的問題,不急,我們且往下看。

          ?



          到底怎么選?

          1、確定問題核心


          這一點(diǎn),也是我們進(jìn)行技術(shù)選型的動(dòng)機(jī)和出發(fā)點(diǎn),所以很關(guān)鍵,很多情況下我們解決不了問題的原因是不知道問題的根在哪,技術(shù)選型也是一樣,必須搞清楚引入這一個(gè)技術(shù)或組件要解決的核心問題是什么,確定自己的問題場景,越具體越好。不能為了用而用。

          ?


          大部分情況下,每引入一個(gè)新的技術(shù)組件,在解決現(xiàn)有問題的同時(shí)可能會(huì)帶來新的問題.。所以在確定現(xiàn)有代碼、技術(shù)組件經(jīng)過轉(zhuǎn)換思路、變通實(shí)現(xiàn)也確實(shí)無法解決面臨的問題時(shí),再考慮引入新的技術(shù)框架。

          ?

          2、列出技術(shù)框架清單

          基于第一點(diǎn)分析出的核心問題場景,列出可以解決問題的相關(guān)技術(shù)框架,一般來說每個(gè)問題場景的解決方案都不止一種,這個(gè)過程可以輸出到文檔也可以存在于自己的腦子里。

          ?


          這里有一個(gè)問題就是列表中的技術(shù)框架都從哪來,我個(gè)人的來源主要是這么幾個(gè)途徑:書籍視頻、技術(shù)博客,搜索引擎,技術(shù)社群,github、gitee代碼倉庫。不管是平時(shí)積累還是現(xiàn)查,途徑大致就這么多。

          ?


          這里多說一點(diǎn),平時(shí)看到一些好的解決方案或技術(shù),要注意積累,可能當(dāng)下用不到,但至少在腦子里留個(gè)印象,記住關(guān)鍵詞和核心應(yīng)用場景,記不住就弄個(gè)筆記,當(dāng)有一天碰到具體問題的時(shí)候,在進(jìn)行具體研究。

          ?

          3、評(píng)估學(xué)習(xí)成本


          有了上面的技術(shù)框架清單,下面就需要結(jié)合各種情況進(jìn)行篩選,選出最合適自己或企業(yè)的技術(shù),首先就是學(xué)習(xí)成本的評(píng)估。我們需要考慮團(tuán)隊(duì)內(nèi)部的可接受能力和學(xué)習(xí)能力,不能盲目選擇。

          ?


          1)盡量選擇與公司當(dāng)前使用的主語言一致的技術(shù)框架,如公司使用的Java,而找的技術(shù)框架是golang語言實(shí)現(xiàn),而公司如果沒有專門的golang開發(fā)工程師或團(tuán)隊(duì),那么如果使用該解決方案,就需要額外學(xué)習(xí)golang。

          ?

          2)文檔是否完善,非常重要,除非你愿意直接啃著源碼學(xué)習(xí),完善的文檔可大大提升學(xué)習(xí)效率

          ?


          3)網(wǎng)上是否有較多的相關(guān)學(xué)習(xí)資料或技術(shù)博客,官方文檔更多是技術(shù)本身的使用說明,而缺乏實(shí)際場景的應(yīng)用和問題解決方案,所以網(wǎng)上的學(xué)習(xí)資料和問答有助于我們在使用過程中快速解決和定位問題。

          ?

          4、評(píng)估使用成本


          1)與現(xiàn)有系統(tǒng)結(jié)合時(shí),所需要的改造成本,一般來說,新項(xiàng)目情況會(huì)好一些,主要是歷史項(xiàng)目或已經(jīng)有大量功能開發(fā)完成的項(xiàng)目,如果接入這樣的技術(shù)框架,是否改動(dòng)足夠小。如果動(dòng)靜太大,就需要再斟酌斟酌。

          ?

          2)投入生產(chǎn)時(shí)需要的運(yùn)行環(huán)境或者說物理機(jī)配置,比如預(yù)算僅僅是兩臺(tái)服務(wù)器,而框架官方建議五臺(tái)集群起,這就是一種使用成本。

          ?

          5、社區(qū)活躍度

          社區(qū)活躍度決定了一個(gè)技術(shù)能走多遠(yuǎn),也決定了使用過程出現(xiàn)問題能不能得到及時(shí)響應(yīng),又或者出現(xiàn)BUG能不能及時(shí)得到修復(fù)??匆粋€(gè)技術(shù)的社區(qū)活躍度可從以下幾方面觀察。

          ?

          1)看github、gitee上的star、fork數(shù),一般來說,能過千的都還可以考慮

          ?

          2)看issue是否能及時(shí)得到解決

          ?

          3)看版本迭代速度和代碼提交歷史是否較為頻繁,這個(gè)頻繁說的是至少近2、3個(gè)月內(nèi)有提交記錄或版本發(fā)布。而不是提交記錄或最后一個(gè)版本還停留在幾年前。

          ?

          4)搜索框架,是否有一定量的博客或技術(shù)問答帖,能搜到說明使用的人多。

          ?

          6、技術(shù)維護(hù)團(tuán)隊(duì)

          1)盡量選擇背后有團(tuán)隊(duì)支撐的技術(shù)框架,當(dāng)然不乏有個(gè)人維護(hù)的很優(yōu)秀的項(xiàng)目,但是長遠(yuǎn)來看,團(tuán)隊(duì)的更加有保障,這個(gè)道理相信大家都懂。

          ?


          但是不是說個(gè)人的開源項(xiàng)目就不能使用了,當(dāng)然可以使用,前提是假如有一天作者不維護(hù)了,那么你具有二次改造的能力,又或者你就沒有改造的需求,現(xiàn)有功能完全可以滿足使用。這種情況下,使用個(gè)人的開源項(xiàng)目也無妨。

          ?

          2)上面說了在團(tuán)隊(duì)與個(gè)人之間,優(yōu)先選擇團(tuán)隊(duì),那么在團(tuán)隊(duì)與團(tuán)隊(duì)之間同樣優(yōu)先選擇有大企業(yè)或知名的開源組織的開源項(xiàng)目。

          ?

          拿企業(yè)來說阿里開源的相對(duì)于其他中小企業(yè)的開源項(xiàng)目來說,阿里的開源項(xiàng)目肯定更有保障,Apache相比其他組織也更容易讓使用者信任。

          ?

          7、行業(yè)內(nèi)是否主流


          主流意味著用的企業(yè)多,會(huì)的人多,生產(chǎn)環(huán)境下的問題解決方案也自熱就多,企業(yè)內(nèi)部人員流動(dòng)是常態(tài),人多有利于企業(yè)降低招聘成本和內(nèi)部人才梯隊(duì)的延續(xù),也可以降低學(xué)習(xí)成本。解決方案多能減少因技術(shù)障礙帶來的開發(fā)成本。

          ?

          如果選擇太偏門的技術(shù),一方面出現(xiàn)問題沒有太多的解決方案可以參考,另一方面市面上對(duì)應(yīng)的求職者也少,招進(jìn)來內(nèi)部培訓(xùn)也可以,那是不是又增加了一定的學(xué)習(xí)成本。

          ?

          8、避免盲目追求主流


          納尼?這個(gè)不是跟上面是矛盾的嗎?不,一點(diǎn)都不矛盾,上面說的是盡量使用主流,來降低團(tuán)隊(duì)人員流動(dòng)帶來的成本,但主流不代表你就能駕馭的了,這里我們對(duì)自己團(tuán)隊(duì)的能力要有清晰的認(rèn)識(shí),駕馭不好只能帶來線上事故,因此對(duì)于技術(shù)實(shí)力一般的企業(yè)來說,在主流和熟悉之間,還是應(yīng)當(dāng)選擇熟悉,畢竟拿的住,保證項(xiàng)目能穩(wěn)定運(yùn)行是根本。

          ?

          9、嘗鮮需謹(jǐn)慎


          技術(shù)領(lǐng)域每天都會(huì)產(chǎn)生很多新的技術(shù),新的解決方案,作為技術(shù)人員的我們應(yīng)時(shí)常保持一顆學(xué)習(xí)的心態(tài),初現(xiàn)的新技術(shù)作為知識(shí)拓展,增長見識(shí)是可以的,但要直接應(yīng)用到項(xiàng)目中還需謹(jǐn)慎,因?yàn)樯鐓^(qū)、文檔可能并不完善,存在一定的學(xué)習(xí)成本,另一方面還未經(jīng)過大規(guī)模生產(chǎn)環(huán)境檢驗(yàn),可能存在未知的缺陷,后期出現(xiàn)莫名奇妙的問題,遭罪的就是你和你的團(tuán)隊(duì)。

          ?

          10、場景測試


          最后最后,以上綜合評(píng)估完成后,一定要做的就是進(jìn)行場景測試,拿具體的技術(shù)應(yīng)用到自己的業(yè)務(wù)場景,寫幾個(gè)Case進(jìn)行測試,各方面判斷是否能夠解決問題,最終選取符合公司情況的技術(shù)框架即可。

          ?


          在沒做場景測試之前,切不可直接大規(guī)模直接應(yīng)用到項(xiàng)目中,除非所選技術(shù)在別的項(xiàng)目已經(jīng)使用驗(yàn)證過,有真實(shí)的生產(chǎn)實(shí)踐經(jīng)驗(yàn),不然單靠文檔或一些資料得到的僅僅是直觀感受而已,具體合不合適,還得真實(shí)的Coding一把才知道。

          ?

          總結(jié)

          以上綜合起來就能保證所選的技術(shù)萬無一失嗎?并不能,但是可以大大降低出錯(cuò)的概率,至少眼下來看是合適的。

          技術(shù)選型其實(shí)也是一種權(quán)衡與取舍,不可能面面俱到,所以進(jìn)行技術(shù)選型時(shí),我們應(yīng)該清晰的認(rèn)識(shí)到

          ?

          1、技術(shù)本身并無好壞,適合自己的就是最好的。

          2、沒有銀彈,只有匹配當(dāng)下場景的最優(yōu)解,沒有完美的解決方案。

          友情鏈接
          ioDraw流程圖
          API參考文檔
          OK工具箱
          云服務(wù)器優(yōu)惠
          阿里云優(yōu)惠券
          騰訊云優(yōu)惠券
          京東云優(yōu)惠券
          站點(diǎn)信息
          問題反饋
          郵箱:[email protected]
          QQ群:637538335
          關(guān)注微信

                亚洲黄色片免费 | 黄色大电影 | 国产精品秘 入口久久熟女沈阳 | 扒下她的小内裤揉弄免费视频 | 国产精品视频热久9 |