熱線電話:13121318867

登錄
首頁大數據時代6個步驟獲得高質量的項目經驗,告別沒有項目經驗的炯
6個步驟獲得高質量的項目經驗,告別沒有項目經驗的炯
2021-03-09
收藏

來源: 麥叔編程

作者:麥叔

很多在校生或者自學編程的人表示:我沒有項目經驗,應該怎么辦?

在開源盛行的今天,我們根本不缺乏項目,隨便在Github上搜索一下就可以找到成千上萬的高質量的項目供你學習和實踐。

我們缺乏的是:把開源項目內化的方法,讓開源項目變成自己的項目的例子。

本文分享6個內化開源項目的步驟,以及4個加深項目經驗的步驟。如果你認真執行這些步驟,項目經驗將不再是問題。

一、步子大了容易扯著蛋

這里說的項目是指比較綜合的項目,具有一定商業價值的項目,寫在簡歷上可以給你加分的項目,比如:

  • 一個在線教育網站
  • 一個內容完善的博客系統
  • 一款有價值的手機App
  • 一個設計和功能都不錯的游戲

項目雖好,但我不推薦初學者上來就做這種項目,步子大了容易扯著蛋。

在做項目之前,必須先有一定的編程基礎:

  • Java是否掌握了Core Java的核心知識?
  • Python是否掌握了基礎語法,面向對象,模塊和包等?

否則就算你比著葫蘆畫瓢把項目運行出來了,項目隨便出點問題,你就傻眼了,因為一些基礎的知識你都不懂?;蛘咦屇阕鳇c復雜點的功能,完全沒有思路。

所以在實踐本文的步驟之前,先掂量一下,自己是否已經有了一定的基礎。

并不是說從零開始學習編程就不能實戰入門,相反,我非常推崇實戰項目入門的方法,所以我在B站分享很多Python,Java的小游戲,小項目的教程:

6個步驟獲得高質量的項目經驗,告別沒有項目經驗的炯
6個步驟獲得高質量的項目經驗,告別沒有項目經驗的炯

這些都很適合零基礎學習編程,但如果放在簡歷上就太單薄了。

在B站搜索:麥叔編程,可以查看這些視頻。公眾號在近期也會開通相關的小程序。

在接下來兩周,我會發布學習文章,也是防止扯了蛋:

  • 不扯淡Java學習路線圖
  • 不扯淡Python學習路線圖

請保持關注。

二、找開源項目

如果你已經有了一定的基礎,就可以開始找個開源項目,練練手。

找項目的方法很簡單,可以去github,或者國內的gitee上,搜索你感興趣的項目,挑選點贊數比較多的就可以了。

但這里我想提醒一下,一定要循序漸進,找適合自己的項目,并不是點贊多的就是最開始學習。

以Java開源項目為例,我認為要分成幾個層次:

  • 先做一個Web,Servlet,JDBC為主的項目,不要上來就上框架項目。所有的框架都是基于Java語言的特性,如果你不理解語言本身,上來就做框架,必然會造成根基不穩,你不會成為大牛,工資也不會很高。
  • 再做一個以主流框架為基礎的項目,比如以Spring/SpringBoot + MyBatis為主要技術棧的項目。在上一個項目的基礎上,你更能理解這些框架的好處,也知道他們的實現原理。有了問題,你有你能力去看源代碼。
  • 再做一個分布式的項目,比如基于Spring Cloud的項目,在這個項目中用上緩存,Message Queue等技術。這是在上一個項目上的自然延伸,如果這樣的項目你也比較熟悉了,你的表達能力又不錯,你運氣好,應該可以拿到比較高級的崗位了。應該在阿里P6的水平。

再說一遍,我的主要意思是:要循序漸進,找適合自己的項目。

如果你不知道如何循序漸進,在接下來的一兩周之內我會發布:

  • 不扯淡Java項目推薦和案例分析
  • 不扯淡Python項目推薦和案例分析

請保持關注。

三、6個步驟

假設你已經確定了一個開源項目,怎么下手呢?

按照下面的6個步驟來:

  1. 運行項目讓項目運行起來,了解它用什么服務器,用什么數據庫,如何啟動,如何關閉。如果是分布式項目,這個步驟就有一定的難度。在運行的過程中可能會碰到各種類庫不能下載的情況,這個過程本身就是一種鍛煉。
  2. 測試它的功能,寫一份功能列表運行起來后,不要急于去學習代碼,先了解項目的功能,并且自己寫一份功能說明書,越詳細越好。如果功能都不了解,談什么構架,談什么技術?面試的時候也會掛掉。
6個步驟獲得高質量的項目經驗,告別沒有項目經驗的炯
  1. 瀏覽代碼,做一個技術棧列表現在可以開始學習代碼了,不要盲目的學習,學習完了要有一定的產出,那就是出一份技術列表。這個項目中都用到了哪些技術?不用太漂亮,把用到的技術都列出來。用了什么Web框架,什么業務層框架,什么數據庫層框架,什么數據庫?要詳細一點,用到那些模塊,那些類庫,分別用的什么版本,統統都列出來。這個產物就是一個簡單的列表。這個過程你必然要全面的瀏覽代碼,了解代碼的結構,對代碼有個比較好的總體的理解。
  2. 畫一張技術架構圖,畫一張流程圖這時候需要把這些東西內化了,給你的作業是兩張圖。一張是技術架構圖,前面你已經有了一個技術列表,現在把列表中的東西放到一張相互依賴的圖中去,進一步消化項目的架構。相信我,在面試的時候,如果你能輕松畫出你的項目的架構圖,面試官一定對你刮目相看!還有一張是流程圖。挑選一個主要的業務流程,比如電子商務系統中的下單流程,畫出這個流程的詳細的流程圖。這個流程圖中最好有兩部分,一部分是業務流程,一部分是代碼流程:這個流程中一步步是如何調用的,最后數據被存在了那張表中等等。

架構圖示例:

6個步驟獲得高質量的項目經驗,告別沒有項目經驗的炯

流程圖示例:

6個步驟獲得高質量的項目經驗,告別沒有項目經驗的炯
  1. 添加一個功能/修改一個功能經過了上面的4個步驟,你對這個項目的理解已經很透徹了,可以說擊敗了90%的小伙伴,但是還不夠。你只是在學習,你還沒有實戰?,F在修改產品功能列表,添加一個新的功能,你把這個功能開發出來。這個功能不能太簡單,需要有一定代碼量,你至少要兩周才能開發完成才行。對,這個步驟非常關鍵!你需要有實際的項目經驗,不只是道聽途說,不是把別人的東西說成自己的?,F在就是你建立實際項目經驗的時候。
  2. 給自己出10個問題,找出優秀的答案你對這個開源項目很了解了,也自己開發了新的功能?,F在來檢驗一下自己,嘗試站在面試官的角度,給自己提10個問題。提問題的時候不要想答案,不要想這個問題我會不會。就只是想問題,列出你認為的最難的10個問題。找出這10個問題的答案。這個過程,你需要再去深入研究相關的技術,要的就是這個效果。

經過這樣的6個步驟,你一定有信心把項目寫到自己的簡歷上。實際上,你可能會比真正有工作經驗的人還要表現的好。

我見過很多工作了幾年的人,都不能畫出自己的項目的架構圖,對項目需求一知半解,問到點深入的問題就答不出來。如果你有實際的工作經驗,也可以應用上面的幾個步驟。

如果你覺得這個幾個步驟很好,但還是感覺不知道怎么下手,在接下里一兩周,我會選取一個開源項目,帶你一步步實踐上面的6個步驟。請保持關注。

四、獲取團隊合作經驗

經過上面的6個步驟,你的項目經驗應該沒問題了,但是你沒有真正的在一個團隊中工作過,你沒有團隊合作經驗,這可能會是一個問題。

下面分享的4個步驟幫你獲得團隊合作經驗:

  1. 找兩個同學或朋友一起研究同一個項目你們就是一個團隊,制定計劃,分配角色。也可以各自研究一個模塊,再互相交流。這個過程不僅僅是做項目,你在培養你的團隊協作能力,溝通能力,甚至領導能力。以后的公司會有越來越多變成虛擬團隊,大家就是通過網上交流,互相協作。所以你和你同學成立的團隊,和公司的團隊是一樣的。你獲得的也是貨真價實的團隊合作經驗。
  2. 各自修改一個功能,通過git管理代碼你們共同討論,確定要增加什么功能。每個功能分配一個人開發。你們共用同一個代碼庫,通過git管理和協作代碼。原本你只能開發一個功能,現在因為有了3個人,你可以給這個開源項目增加3個功能了。你的項目經驗也更多了。
  3. 互相審查對方的代碼,互相測試對方的代碼團隊中,代碼審查是重要的一個環節。你們3個人,互相審查對方的代碼,給對方提出意見?;ハ鄿y試對方的代碼,給對方報bug。
  4. 互相審查技術構架圖,互相提問對方的問題在6個步驟中的各項產物,你們都可以互相審閱。重要的是,你們可以模擬面試對方,用你覺得最難的問題,去狠狠的考驗對方。比面試官還要狠。

如果你很難找到合作伙伴,我創建了一個“項目實戰互助群”,也許這里你能找到你的合作伙伴。請在公眾號回復項目加入群聊。

五、后記

我知道,說起來容易,做起來難!但是不做會更難。

如果下決心,嚴格執行這些建議,項目經驗絕對不會成為你的障礙。

為了更好的幫助大家,在下面的一兩周我會推出相關的文章:

  • 不扯淡Java學習路線圖
  • 不扯淡Python學習路線圖
  • 不扯淡Java項目推薦和案例分析
  • 不扯淡Python項目推薦和案例分析

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢