剛入職的java程序員,在公司已經看了兩個禮拜的代碼了,感覺做不來,怎麼辦呢?

那個漫


作為實習生有這種感覺就會顯得特別正常了,或者初級的程序員都會遇到這種實際場景,真正從事軟件開發工作的都需要要經歷一段適應期,而且在適應期內公司不會安排主要的工作任務,因為新手程序員寫的代碼質量很難保證,而且經常寫出一些莫名其妙的錯誤,這種可能導致後期的維護成本增加,所以初級的程序員做的最多的事情就是跟著老程序員做些簡單的測試,同時還會學習一些常見的編程模式,為後期真正設計模塊做一些理論鋪墊。

為什麼編程新手都會覺得寫不出代碼?

新手的基本功不紮實,在自信心上會有很大的不足之處,所以把注意力都及集中如何實現代碼了,早期的程序員對於實際的語法關注的比較多,總是擔心自己的代碼不能通過,起碼還處於代碼的語法階段的程序員都稱之為初級程序員,這也是成為真正程序員的畢竟之路,再厲害的程序員也是從初級的程序員走過來的,所以這個階段有這種心態也是十分正常的事情,不要覺得自己就是不適合做個程序員。

越是初級的程序員越是要注重語法基礎的學習,要說大塊的學習時間大部分是在初級階段,因為平時的工作壓力不是很大,趁著這個時間段讓自己對基礎的學習更加深刻一些,儘量在這個階段把編程語言弄得踏實,很多程序員只是在初級階段把基礎功去學習,一旦找到真正的編程感覺二之後就不怎麼回過頭來學習基礎了,結果乾的時間長了直接把基本功忘得差不多了,很多老程序員在面試的時候發現有筆試直接就抬腿走人了,這種可能會錯失很多機會,基本功的學習過程貫穿著整個整個技術生涯。

要排除初級程序員的心理障礙,最好的辦法是儘早進入到項目開發中去,做幾個模塊之後自信心就會有很大的提升和補充,但不是每個新手程序員都有機會直接上手最貼近實戰的項目中去,想要儘快的加入到項目實戰中就是不停的把基礎弄紮實,讓公司覺得可以進入實際的項目開發中去,經歷半年的時間差不多就能找到真正的編程感覺,作為編程小白經歷幾個月的緊張學習期,對於編程生涯還是能起到很大的作用。

新手幾乎都有一種毛病,看代碼的時候基本上都能理解但在實際操作過程中,卻是寫不出代碼這種屬於典型的缺乏實踐,這種能力的培養需要真正的項目來培養,做的多了常見的編程套路就明白了,該死記的死記該理解歸納進行梳理,項目經驗是程序員比較核心的競爭力,而且在企業招聘的過程中注重的最重要點就是相應的項目經驗,有相關的經驗之後就能直接上手工作中間的緩衝期也會變得很短,所以講程序員的薪資有很大一部分是項目經驗來衡量出來的,所以新手程序員需要儘快的想辦法進入項目開發狀態,上面說的恐慌隨著時間的推移都會慢慢消除掉,希望能幫到你。


大學生編程指南


這樣的情況很正常,我大四在一家公司實習,剛開始要我改需求,這代碼都是別人寫的,剛開始看的很吃力,而且這個項目的業務很複雜,sql動不動就是一百多行,七八張表,當時我是看懵了,完成不知道這sql要實現的邏輯是什麼,但是當時有個人帶我,有時候會指導自己我一下,但是做了幾個禮拜我還是很懵逼,而且還要我改前端,但是我作為一個後臺要我改前端真的要命,所以我就做了一個多月就辭職了,後來拿到畢業證進了一家公司,純做後端,我那時候劉想終於擺脫寫前端,雖然剛開始寫代碼的時候,出了很多問題,也是經常請教我身邊的人,還好公司的同事人都很好,也會幫我解決問題,做了幾個月後,我才覺得自己入門,基本的crud基本沒有問題,不過遇到很難的問題還是會請教我同事,所以說你現在如果碰到不懂的,你應該多問一下你的同事,他們會幫你解決的,平時的時候多加強學習,做了一段時間後,你就慢慢會有感覺的


Jun日記


我感覺對於一個初入職場或者換了一個新工作,新環境的人,遇到這種情況是非常非常正常的現象。

我先講講我個人的經歷吧。我在 12 年畢業的時候,初入職場,是做 Android 開發,在大學裡除了學習自己的專業知識之外,Android 開發是屬於自學的。畢業那年,我一個人獨自踏上了北漂之路。面試了一家做打車軟件的公司。當時給我安排的工作是打車軟件用戶端的 Android 客戶端軟件的開發工作。


一個新入職場,沒有任何工作經驗人,只是通過大學自學的 Android ,當然他們把 Android 端代碼扔給我了,給我一到兩週的熟悉時間。我當時,打開代碼熟悉的時候,說實話,確實一臉懵逼,感覺好難。其實,並不是難在代碼看不懂,難在的是架構模式,就是這套代碼使用的是什麼架構模式。

我第一天很懵逼,第二天依舊懵逼,公司安排了一個人帶著我,我初入職場其實不好意思問,就自己百度搜索,學習,慢慢從頭開始理順整個架構和回調,只要這個理順了,就很簡單了,我花了一週多就理順了架構邏輯和網絡請求的回調,封裝。理順之後,就感覺好簡單。


我當時,那一週多,也是感覺自己做不來,但是對於應屆生來講,找工作不容易,不能輕言放棄,只能硬著頭皮上,仔細研究和琢磨,沒有什麼克服不了的。


我的例子講完了,我來講講,感覺做不來怎麼辦?其實,感覺做不來,一般分兩種情況。

技術底子不錯,就是架構和業務不太清楚

其實,這種情況下,你不必焦慮,因為,不是你做不了,也不是你做不來。只不過是還沒有把代碼看透,尤其是新的代碼的架構等東西,跟你之前使用的不一樣。而面對這種新的東西,人往往都是牴觸或者缺乏自信的。


這時候,其實你需要做的是,相信自己能夠做到,然後先去理順整個架構,以及業務邏輯,找到代碼的核心點,一點一點的克服。代碼其實最核心的東西就是架構模式,只要這個找準了,其他都好辦。


這種情況不是你做不了,是因為面對新東西,缺乏自信,牴觸造成的假象。


真的看不懂

還有一種情況就是完全看不懂,一點也看不懂,這就說明你技術底子本身就很弱,這時候,硬看是沒有意義的。因為,基礎不紮實帶來的問題,不是你看懂架構就能解決的,因為基礎不紮實,架構原理你懂了,你也白費。


這時候,如果公司有帶你的人,你必須虛心請教,放低姿態,以學習為主。而且平時應該去夯實基礎,這是耽誤不得的。


如果公司要求你馬上上手,你實在做不了,只能辭職了。因為,技術達不到公司水平和要求嗎,自己實在看不懂,乾的也很焦慮,沒必要耗著,就辭職,感覺去彌補基礎帶來的差距。


關注「非著名程序員」,每天分享有價值的科技內容,也歡迎大家在回答底下留言,一起交流分享,另外回答不易,請點贊支持。感謝!

非著名程序員


實習生都可能都這樣,看代碼不知道你看的是什麼,你應該是j2ee吧,公司有自己框架的看看他們從前臺到後臺的增刪改查怎麼寫,然後結合項目業務去試著理解點流程,這個也不是叫你自己去完成,看看公司用的什麼 對應去看看響應技術基礎,只要耐心過一兩個月就輕鬆很多了開始都這樣。我13年帶過一個實習生,那時候公司ssh,來了第一天我問這哥們以前接觸過嗎?他告訴我寫過html,溝通的時候我發現他js css也不知道,指著eclipse.說是Oracle,真是服氣了,for都不知道怎麼用,然後人家北京戶口,跟公司領導有關係,沒辦法我每天每天上午抽半個小事從jsp servlet tomcat開始一步一步告訴她,給他降最簡單的web邏輯思想,這哥們兒挺有毅力,本來我是打算過兩天不行直接找部門經理說給換掉他的,看到這哥們毅力覺得幫幫他,一個哥一個哥的叫著,正好那時候不忙也是國企就當玩了,兩週後這哥們能自己配置ssh,胡亂能寫增刪改查了,就這樣慢慢能改邏輯了,等三個月給我打電話說離職,理由是他父親去世了,我就同意了,一年後碰見了說當時騙了我,那時候感覺工資低,換工作了,其實挺傷心的。講這個故事其實就是告訴你,只要有毅力其實沒有什麼學不會的,基礎弱就從基礎學習,一步一步來,要理解不要看到什麼就懵逼,現在不換什麼框架都是簡化開發,你記住都是servlet jsp那一套東西,無非就是頁面傳個值,處理處理在傳回去,慢慢摸摸流程,看別人增刪改查怎麼寫的,看看框架的特點,什麼都沒接觸直接spring boot.罵一套確實需要記很多東西,不過上手挺容易的 ,上手以後再去理解為什麼這樣,不要開始就想著都學會了,多寫多學,一定要做到知其然,知其所以然,這樣對你以後好。希望能幫到你。


小白成功記


做不來硬著頭皮做鴨,剛畢業那會,帶我的人在我入職一個月就跑路了,他負責的一個新系統才做了一半,領導逼著我接手。接的住就轉正,接不住就滾蛋。那會真的是壓力大,天天晚上失眠,每天洗頭都掉好多頭髮。天天晚上研究到一兩點,不懂就問同事,一般同事有時間都會和你說的。反正最後抗下來了,想想當時扛不住估計也就轉行不做開發了吧


用戶1572265430982


Java程序員剛入職時肯定在各方面都是不熟悉的,所以剛入職時的主要任務是學習,儘快熟悉公司各項業務。我不知道題主入職的公司是傢什麼樣的公司,我就說說當時我入職時是如何快速融入公司的。



那是一個躁動的季節,7月份大批畢業生進入職場,開始了職場人的生活,我就是就業大軍其中的一員。我進公司也是做技術,那個時候每個人剛進公司時會有半年的考察期,同時會給每一個新人安排一個老員工做“導師”,在這半年的考查期裡就由這位老員工帶著你,最後你能否轉正,老員工是有很大的話語權的。

新員工入職後最好的學習方法是什麼?就是看代碼。那個時候老員工就直接扔給我一套代碼讓我看,這代碼都是他寫的,看不懂的就問他,而且這套代碼以後就由我來維護了。於是我就開始了苦逼的看代碼的日子。



看代碼的日子肯定是非常辛苦的,有不懂的我就問老員工。老員工說熟悉一套代碼的一個辦法就是熟悉這套代碼對應的流程,結合著流程看代碼打印的日誌。於是我就實際在線上維護這套代碼,看代碼的輸出,而且每天7點多就到公司看代碼,就這樣堅持了兩個月。

功夫不負有心人啊,經過我自己的努力,老員工的指導和線上的維護,兩個月後我終於理解了這套代碼,而且維護起來也得心應手,在這方面在公司有了一點小名氣。

所以這位題主,熟悉代碼沒有捷徑只能不停地看看看,花的時間足夠多一定會理解代碼的,要有信心哦!


數字視聽科普



小怪日常vlog


小夥子,看在你這麼老實誠懇的份上,我就告訴你一個程序員之間的不傳之秘吧!

這個秘密是:寫代碼比讀代碼容易!!!

你知道老代碼在我們程序員圈子被稱為什麼嗎?

屎山!

對!你沒有看錯!就是狗屎一樣的代碼堆得像山一樣高的意思。

一份代碼哪怕一開始再怎麼優雅,在經歷了歲月的洗禮之後,隨著各種各樣的傻逼需求、臨時方案、bug補丁、半吊子重構而變得醜陋臃腫。

再加上國內同行普遍不愛寫註釋、不愛留文檔。

想要看懂簡直比登天還難。


寫代碼就不一樣了。

你作為新人,不會給你太難的任務,也不會讓你動核心代碼。

你接到任務後,只要瞭解任務相關的那點代碼就夠了。

要是不明白,你還可以問老員工。

甚至就算寫出bug也沒什麼大不了。畢竟不是核心功能嘛。


所以,不要怕,讀不懂代碼沒事兒。你去找領導要個小任務,順便再讓他給你指定一個導師就ok了。


自稱實戰派ex


我認識的很多程序員工作兩年了,我都會問他會什麼,其實一般得到的答案都差不多,感覺自己就會增刪查改,什麼也不會。其實Java開發最開始就一個增刪查改,僅此而已。為什麼覺得自己不會,心理上還覺得自己做不來了,為題主分析分析:

為什麼從看代碼就覺得自己不會

做過一到兩年開發的小夥伴,跳槽過幾次的小夥伴應該大部分都遇到過,你被分配崗位過去是接二手代碼來開發,接二手代碼開發去了之後基本就是在看上一個人的代碼,其實大家都有體會,看別人代碼很多地方是看不懂的,特別是業務邏輯比較複雜的地方,如果還沒有註釋,你基本上就會在內心中瘋狂的問候上一位開發者。你看不懂其實是一個很正常的事情,你想想,你把你一個月之前寫的代碼拿出來可能你也會看不懂。

其次就是題主是剛入職,沒理解錯的話,應該是第一份開發工作,第一次就接到二手代碼確實是有點茫然,不知道從那裡開始,在加上自己心理沒底導致懷疑自己的能力,其實大可不必,因為如果剛開始的工作內容上面答主也說了,基本就是增刪查改,沒有深特別高深的東西,特別深的東西你們組長也不可能給你去做。

要看業務,不要看代碼,代碼是別人寫的,業務是需要自己理解的。

企業讓你看代碼是為了什麼

如果是接二手項目的話,第一:讓題主自己知道上一個開發者做到那裡來了,這樣在接著寫的話,你自己也有頭緒;第二,你自己也要對基本的業務流程有一定的熟悉。因為開始的業務不是你寫的,所以對整個模塊的業務功能的理解上可能不夠深入,所以需要去看看上位開發者來幫助自己理解。

如果是公司的主要營收項目,那麼如果讓題主去看代碼是為了讓題主能理解之前項目中整個業務過程,好做對應的有業務關聯的下一個項目的開發,或者對對應的功能做升級,或者要添加新的功能做二次開發。

如果公司比較大,自己去根據自己業務改出來的框架或者技術做的項目,但是這種情況一般都會做事先的培訓工作,在去接觸代碼的。那麼這個時候看代碼是為了讓你熟悉公司自己的東西,後期好馬上入手進行開發工作。

不要真的被別人寫的代碼毒到了,看代碼就是為了業務

怎麼樣讓自己能快速的進入項目才是最主要的

不管是什麼原因去看代碼,其實最主要的是快速熟悉業務準備進行後期的開發。在題主看代碼的時候一般相應會給你開發文檔,這個時候不要盲目的去看代碼,最好的方式就是結合著開發文檔一步一步的去查看對應業務的代碼,在看代碼的時候最好不要在某些上一個開發者寫的比較複雜的業務邏輯代碼上糾結,你只要知道這段代碼是給你做了一件什麼事情就行了,因為上面就說過,別人寫的代碼你是很難看懂的。主要是理解現在的業務邏輯流程,然後隨著這個流程能讓自己有所理解,並且如果是做二次開發能接著開發,如果是二手代碼能繼續上一個人的位置能繼續開始。

其實主要的開發都是增,刪,查,改;要相信自己能行

總結:看代碼其實就是為了讓你自己能理通業務邏輯,所以不要一直糾結看不懂別人寫的代碼,每個人有自己的想法,同一個業務可能不同的人寫有不同的寫法。千萬不要覺得看不懂別人的代碼就否定自己,相信自己,說的在不好聽一點,不會那麼我們就去學唄。

以上是答主自己的個人意見,如果有更好看法的小夥伴,可以在下方評論區留言,或者點個贊,加個關注,我們一起探討探討。


自學JAVA


作為一名從業多年的IT人,我來回答一下這個問題。

對於剛入職的Java程序員來說,如果沒有過崗位實習經歷,在面對開發任務時,確實需要度過一個困難期,而如果此時沒有專業程序員的指導,通常需要較長一段時間才能逐漸融入到開發團隊中。實際上,不少Java初級程序員在入職一段時間後,就因為遲遲不能完成開發任務而選擇離職。

對於沒有開發經驗的Java準程序員來說,要想盡快提升自己的編程能力,同時融入到開發團隊中,應該從以下三個方面入手:

第一:多動手做實驗。要想提升編程能力,一定要多動手做實驗,可以從一個比較基本的實驗開始,然後逐漸進行拓展。看代碼雖然是快速學習的好方式,但是看代碼的同時,一定要動手實踐一下,這樣才能建立起畫面感,同時形成自己的編程思想。

第二:多與老程序員交流。在進入開發團隊的初期,一定要多與有經驗的老程序員交流,這是能夠快速成長的重要方式。在交流的過程中,一方面要搞清楚具體的開發流程,另一方面也應該主動承擔一部分開發任務,有了開發任務就會有更多交流的機會。按照歷史經驗來看,往往能夠主動承擔開發任務的程序員,會有更快的成長速度。

第三:善於總結。做程序開發工作,一定要善於總結,把一些重要的開發內容總結成具體的方法,然後再把這些方法應用到後續的開發任務中。Java開發比較注重模式和框架的運用,而且不同團隊往往有不同的技術選型,所以做好相關知識的總結對於快速融入開發團隊是比較重要的。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有互聯網、大數據、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區留言,或者私信我!


分享到:


相關文章: