回覆列表
  • 1 # 木樓爸爸

    多看看框架的書籍和原始碼,另外就是自己起個小專案練練手,至少能夠從0開始搭框架,跑起來沒有大的相容性問題基本就能比一般crud好點了。

  • 2 # 徒步黑哥

    確實java開發人員有時會覺得工作內容單調,乏味,覺得每天都在重複性的做crud,之所以會有這種感覺,是因為在公司工作中,只負責寫某一功能模組的程式碼,久而久之沒有創新性和突破性就會感覺乏味單調。其實所有的程式歸根到底都是處理資料,都是crud,因為計算機的本質就是處理資料計算資料。如何避免單調的感覺,那就只有儘量的做寫一些功能性豐富的模組。比如登入,許可權,工作流等,用功能性的滿足感填充一下簡單模組的空洞。。

  • 3 # 流星007

    身為一個java碼農,我來說幾句

    程式猿如何避免crud?我覺得這個在於自己,我相信80%的程式設計師都是幹著crud的重複工作,5年以上工作經驗的人也都做著curd的工作,只不過別人的crud比你的高階一點,僅此而已。

    不過話說回來,如果一個程式猿做了5年還只會crud,那麼他只能算是一個碼農,不能算一個程式猿,一個合格的程式猿應該是對計算機原理,常見的資料結構與演算法有這比較熟悉的理解。

    問題在於為什麼現在大部分的程式猿都只會crud呢?一問到資料結構就gg,其實這和程式猿的工作有很大的關係,以java為例:現在的java框架已經非常成熟,springboot、springcloud等等,讓他們編寫程式的時候無需關心架構的實現與維護,只需要寫好和自己相關的業務程式碼即可,至於架構,一般都有專門的架構師維護,所以這也導致了一個問題,一般的程式猿很難接觸到架構這一塊,再加上現在的開發模式基本上都是敏捷開發,公司實行狼性文化,每天都被大量的業務程式碼圍繞著,做完業務程式碼可能都晚上10點了,哪還有時間去看架構的知識呢?

    雖然這樣說,但是還是可以讓自己成為架構師或者演算法工程師的,為什麼?

    在讀書的時候,經常聽老師說的一句話就是:時間就像海綿裡的水,只要願意擠,總會有的,以前覺得這句話很搞笑,現在才懂得這句話的含義。

    沒錯,時間擠擠總會有的,我們可以利用上下班擠地鐵的時間,週末休息的時間看書學習,如果不想天天crud,那麼一定要看書,至於看什麼書,這個就需要根據個人的興趣愛好了,只有大腦裡面都是知識的時候,才會在機會靠近你的時候你能抓住,否則,機會都和你擦出火花了,你也抓不住。

    以我個人為例吧,我週末的時候會寫寫部落格,看看技術類的書籍,讓自己過的更加充實,這是我最近看的書籍,想要避免crud,就一句話:擠出時間,多學習,多思考,我相信總有一天,當機會靠近你的時候你能握的住,加油吧,少年!

  • 4 # 斯人若月

    多接觸業務,多思考。最要緊的是自己不要滿足於只寫點增刪查。如果覺得自己所在的團隊沒可能性讓自己插手業務,那就換吧。

  • 5 # 寫程式設計師的程式碼

    1、不管是什麼後段,java也好,python也好,其它後段語言也好,除非不和資料打交道,只要和資料打交道,都是crud,只是不同形式的crud。

    2、任何程式設計師都是在crud的基礎上發展來的,就看個人怎麼理解crud了。

    3、總有那麼一些人通過幾年的工作經驗,達到能夠寫出工業級的程式碼,甚至勝任模組級別的系統設計、完成難題攻克等一系列更高的技術水平。

    綜上,90%以上的工程師,要麼永久的止步於此,或者進入業務線,做著自己沒什麼經驗的事情。只有不斷學習,不斷探索才能做那10%的人。

  • 6 # 駭客之家

    Java後端要避免只會寫CRUD,只能靠自己去學習。國內的公司大部分都是搞業務開發,很少有搞開源專案供大家使用的。這樣在工作中你是很少有時間和機會能接觸到新東西,大部分公司都是一套框架下來,之後就一直用這套框來填充業務。所以你在工作中是很難逃出CRUD的。要想提高自己就需要平時抽空自己學習,這對程式設計師來說真的很重要。經常只CRUD也是有提高空間的,你可以用不同的方式去實現,還可以學習原始碼。比如常用的mybatis的原始碼實現,你可以在開發空閒時間研究一下mybatis的實現,這樣你對mybatis的使用會更熟練。還有業務開發中經常使用的spring boot、spring框架,可以自己研究一下,如spring boot的載入機制、spring mvc的請求流程、spring bean的載入機制、spring aop等。其實要學習的東西有很多,而且這些都是開源的,自己開發專案空閒時間就可以去看看這些原始碼,會對自己有很大的幫助。不要只用框架而不知道原理,基礎原理很重要。推薦一本Java基礎的書《Java程式設計思想》,裡面介紹Java基礎知識很詳細,而且很多都是平時我們容易忽略的知識點,學習之後會使你的Java基礎有很大的提高。喜歡的話可以點選下方連結購買。

  • 7 # 鬥戰勝佛

    Java後端要避免只會寫CRUD,只能靠自己去學習。

    國內的公司大部分都是搞業務開發,很少有搞開源專案供大家使用的。這樣在工作中你是很少有時間和機會能接觸到新東西,大部分公司都是一套框架下來,之後就一直用這套框來填充業務。所以你在工作中是很難逃出CRUD的。

    要想提高自己就需要平時抽空自己學習,這對程式設計師來說真的很重要。

    經常只CRUD也是有提高空間的,你可以用不同的方式去實現,還可以學習原始碼。比如常用的mybatis的原始碼實現,你可以在開發空閒時間研究一下mybatis的實現,這樣你對mybatis的使用會更熟練。

    還有業務開發中經常使用的spring boot、spring框架,可以自己研究一下,如spring boot的載入機制、spring mvc的請求流程、spring bean的載入機制、spring aop等。其實要學習的東西有很多,而且這些都是開源的,自己開發專案空閒時間就可以去看看這些原始碼,會對自己有很大的幫助。

  • 8 # 百木森森

    管理學大師彼得·德魯克的著作《卓有成效的管理者》一書中提到了如下幾個核心觀點:

    管理者不專指高階經理,而是泛指知識工作者、經理、專業人員,不論其是否有下屬,不論職位高低,只要是因為職位和專業在其工作中做影響績效和成果的決策,即可成為管理者;管理者的工作必須卓有成效;卓有成效是可以學會的;有效的管理者注重自己對外界的價值,由價值目標驅動自己的工作,而非一味無腦等待工作安排。在日常接到新工作時,有效的管理者會首先判斷“別人期望我做出什麼成果?”,而非別人告訴你一個目標或操作步驟你就去做,完全不關心結果的好壞。

    基於以上的幾個核心觀點可知,如果想避免自己只會CRUD的尷尬處境,最主要的是要轉變自己對工作的態度,變被動為主動。

    舉例來講,當領導安排下來若干CRUD的任務時,如果只是按要求完成工作,甚至其間一些實現步驟或細節原理都是由領導指導的,那就不符合觀點1中知識工作者或專業人員的要求,只能算是某種程度上的體力勞動者,就像按要求完成流水線上的工序一樣,這項工作並非因為你附帶上了額外的價值,誰來做這個勞動都能達到這個效果。但如果變被動為主動,在簡單完成CRUD的同時,主動基於自己無論在技術、業務、管理任何方面的專業知識,對工作提出了更高的要求或建議,使得工作以更高的質量輸出,這個就滿足了觀點1和觀點4,即基於自己的專業影響了工作績效,且完成了一些隱藏的“別人期望我做出什麼成果”的目標。比如利用自己的技術知識,使得程式碼實現的時間、空間複雜度更低,可用率提高,或利用自己的業務知識,儘可能地找出CRUD涉及到的更多業務異常分支,鞏固系統整體質量。

    可能有些時候會認為,我費半天勁,僅對這個系統性能或質量提高了1%的效果,還不一定能得到別人的認可或誇讚。但這樣做其實更多的是對自己的隱性財富進行積累,而非收效很快的顯式財富。舉例來說,從技術方面,我透過很大的努力,將介面TP99從7ms最佳化到了4ms,這麼做對於要求不高的場景來說,省出來的3ms別人根本察覺不到。但是往往最佳化難度越大,收效越微的地方,涉及到的知識點就越深越廣。我為了把TP99從7ms壓縮到4ms,不得不去研究HTTP1.1與HTTP2的區別、HTTP和RPC的區別、長連線與短連線的區別、TCP的握手與揮手問題、HTTP請求整體鏈路都需要做什麼等等,這是對知識沉澱的重要過程,沒有這些對自己的高要求,在日常的CRUD工作中,很難遇到技術要求很高的場景,也就很難對技術有質的提升。

    另一方面,一次兩次對工作精益求精的收效甚微,但是如果長期以來對工作的態度都是主動的、認真負責的,那會在團隊成員尤其是在領導印象中留下靠譜的印象。更重要、更有價值、技術難點更高更復雜的工作,領導是不會一上來就交給不熟悉、不信任、不靠譜的人的。如果長期做CRUD工作都是以被動的態度來做,是很難等到領導主動給你分配更有價值的工作的,因為領導可能覺得你連CRUD工作都沒做到令他滿意,何談給你分配更有價值的工作呢?

    第三方面,很多有意思工作,有時候是自己爭取或創造出來的,並不是被動地等來的。比如你長期從事某一個業務領域或技術領域的工作,如果態度積極主動一些的話,肯定是能發現該領域的一些共性不足的。如果能發現業務通用的最佳化方案,或技術上通用的最佳化手段,跟領導主動反饋的話,相信大多數領導是會願意將這個有意思的工作交給你自己來處理的。以此就有希望逐漸脫離一成不變的CRUD苦海了。

    最後的總結,上面說了這麼多,其實簡練的說就兩個字:主動。主動學習、主動發現價值、主動挑戰難點,就是避免只會CRUD的寶典!

  • 9 # 自學JAVA

    答主從自己的經驗來看,其實從剛開始入行來說,會寫很長一段時間的CRUD。那麼答主從下面幾個點來談談自己的看法。

    職業初期為什麼只會寫CRUD

    我和我同是程式設計師職業的朋友前幾年的時候經常開的一個玩笑。我們都問問自己在技術上我們自己會什麼,不管是認真去想這個問題還是開玩笑的去想這個問題,我們幾個人會心的對視一下,然後開始笑起來,因為我們確實只會增刪查改。

    雖然前面是一個程式設計師的梗,但是實際情況確實也是所有的程式的基礎功能不就是增,刪,查,改嗎?如果你現在還是一個剛入行不久的新手,那麼就踏踏實實安下心來先把增刪查改搞明白,搞深入,搞會了在說。那麼你如果是一個寫了幾年的老油條的話,還是隻會增刪查改的話那你就要好好深思一下是為何了。

    那麼除了程式的基礎功能上的原因以外,還有就是你剛進公司,從領導的信任角度來說,他也不會把一些出了基礎業務功能的東西讓你去做,因為他們也不放心,也怕你刪庫跑路。玩笑話,玩笑話!

    最後也是最主要的原因了,就是你的技術能力和你的專案經驗還達不到能去做專案其他比較高階的處理。說白了,就是你技術能力不夠,這個原因是一個主觀原因。是沒辦法透過你一句話讓你從寫CRUD到搞其他東西的。只要兩種選擇,要麼做,要麼走。

    如何從當前局面中跳脫出來

    上面我們說到最主要的原因還是技術問題。這個主觀原因是可以透過你的平時學習加慢慢積累來改變的。這裡要學習的內容的話,你可以去從兩個方向去選擇。一個是學基礎的底層,比喻,我們都知道ArrayList底層是可變長度陣列,但是底層是如何實現可變長度的呢?你如果能把底層學的很透,那對於你對專案整體的設計上會有很大的提升。第二個就是從一些除了增刪查改需要用到的技術,比如效能最佳化,比如高併發的解決方案那這個要學的東西太廣了。

    總結一句話你如果想改變只能寫增刪查改,必須得先讓你的技術提升起來,至於後面的領導對你的信任那就很簡單了,當你的技術能力達到一定程度哪些都不在話下了。學習也是一個需要堅持和比較漫長的一個過程,但是也是最直接最有效果的,畢竟我們所從事的職業是一個技術崗位,所以技術為主。

    做好自己的職業規劃

    其實這個算一個擴充套件吧,你如果一直在寫增刪查改,感覺你的工作以後就這樣了,並且對你現在的增刪查改工作比較迷茫的話,其實這個時候你得考慮一下自己的後面職業發展,這樣自己會有目標,更加有動力。其實對於從事技術崗位來說,職業發展選擇還是比較多的。

    你如果有野心,你可以在工作中積累自己的人脈,擴充套件自己的圈子,後面去做創業,但是很幸苦,也很需要資源。你如果習慣技術,對技術有很濃厚的興趣,那你可以選擇以後也是往技術的管理崗位發展,對於你的技術能力和管理能力肯定是更加高的。最後技術走管理崗位,其實這得你自己綜合考慮自己的素質。

    總結:我們所從事的職業是技術要求比較高的,如果你想不只寫增刪查改首先把自己的技術能力弄上去。當你技術能力到達一定程度自然不會再只寫增刪查改了。最後做好自己的職業規劃,併為之努力吧。

  • 10 # wuzimei

    換一個角度說說,crud也有很多學問,太多程式設計師眼高手低,連crud都做不好,做不深。關是一個一個過的,前面的關練級不夠,怎麼通後面的關。

  • 11 # 拒海

    這是個好問題,我就遇到新入職的同事問我這樣的問題

    那是17年,我們招了個後臺開發,工作經驗有6-7年,從傳統行業出來的,之前沒有做過網際網路開發

    來了之後先從管理系統入手吧,一般網際網路後臺除了給前端提供api介面,也會有個後臺運營管理系統,給運營同學做業務配置,報表查詢,多數情況就是CRUD

    入職不久這同事就在一次周例會跟我抱怨工作沒有技術含量,就是增刪改查

    增刪改查是沒啥技術含量,但其他工作你準備好了嗎?

    當時我要求他做伺服器巡檢,就是根據nginx日誌和業務日誌統計下哪些介面響應較慢,業務經常丟擲哪些異常,這個用linux 的awk很容易統計,結果他是把日誌下載到本地,用文字編輯器來統計,搞得一頭大汗

    後來一個需求是從谷歌市場爬app的分類,詳情等資料,之前負責的同學要離職,交接給他,結果他完全hold不住

    後臺工作肯定不止CRUD,為什麼上級只讓你做CRUD呢?那是給你時間提升的,你應該和其他同事學習,看自己還有哪些不足,趕緊提高,這樣上級才會給你更有挑戰性的工作

  • 12 # 30歲的程式設計師

    寫crud和寫好crud是兩回事,你不寫好後面搞bi的搞ai的何不蛋疼,不都是基於你的資料!

    當然,如果公司業務是這樣,避免不了crud,同時你又覺得你的才能和才華發揮不了,那就跳吧!

    換個公司你會發展,媽的還是做一樣的工作

  • 13 # 宗熙先生

    你的問題很關鍵,如果是這樣的話,如果不想辦法扭轉改變的話,那麼就是名符其實的“碼農”,35歲以後,甚至到不了35歲,妥妥地被淘汰。

    至於具體調整你未來的職業規劃有幾個方案,說幾個供你參考:

    第一,去學習理解一些“完整”實戰專案的原始碼,而且一定要吃透,然後想辦法找機會參與到公司真正的專案中來。

    第二、技能橫向發展,去學習安卓開發。但這也是治標不治本的,並非長遠之計。

    不管你適用Java具體做什麼開發,你未來的職務,你的薪酬報,最終那是取決於你的實際工作能力的,所以不斷的提升自己,永遠才是王道。

    不懂就學,不想只寫增刪改查,就在做好工作的同時,學習其它硬核技能,提升自己,就能立於不敗之地,避免被淘汰的倆去。

  • 14 # 光明頂上

    在開發領域,99%的開發者都是每天忙碌於CURD,每天忙著寫介面和業務程式碼,這種工作也很貼合我們俗稱的“搬磚”。如果在開發的前三年還可以寫寫業務程式碼,熟悉開發流程和規範,可是三年後如果還是隻能寫CURD,那就是對自己的職業沒有規劃了。

    現在一種趨勢是全棧開發,後端程式設計師也開始學習前端內容。通常來說,學習前端對於一個後端程式設計師是沒有什麼難度的。而且現在前端也開始框架化,Angular,Vue和React等一系列前端框架也讓前端開發變得更加便捷和多元化。熟悉前端開發,對於之後的職業發展生涯也是很重要的。尤其是中國產前端框架Vue更應該學習下,Vue學起來容易上手,在市場上覆蓋率達,也廣受開發者好評,我認為之後的前端會是Vue的半壁江山。

    還有一種方向就是深耕框架和java高階知識。如高併發,sql最佳化,docker等流行知識。工作三年後對於這些java高階知識也能很好的接受和理解了。在網上很容易找到那些高階java框架知識的影片的學習資料的。

    面試造火箭,工作擰螺絲。這個只是我們的戲稱而已,如果你在工作中也只是把自己的工作當成擰螺絲,對以後的工作也只有這樣的期望,那你就沒必要看這個問題了。35歲不是程式設計師職業生涯的終點,我們的每一天都是起點,我們應該時刻準備著,學習著,生活是不會虧待有準備的人的。

  • 中秋節和大豐收的關聯?
  • 《牛虻》我只用一錘,上帝粉身碎骨,原來只是個泥塑。你如何看?