導航:首頁 > 程序命令 > 幹了5年程序員代碼還是寫的不好

幹了5年程序員代碼還是寫的不好

發布時間:2023-08-05 07:21:30

Ⅰ 工作一到五年的Java程序員遇到瓶頸應該如何提升

工作了5年的Java程序員,該如何提升,做了3~5年Java開發,你已經積累了不少項目經驗,擴寬了技術廣度,也許已發力成為團隊管理者。到了這個階段,大家卻常有這種感受:感覺自己卡在瓶頸進步緩慢,技術水平很難像早期一樣實現大幅突破?
其實大家往往忽略了這一點——提升自己的架構認知(工作5年左右程序員必須重視架構認知的提升,這會很大程度上推動你今後的成長)。架構的本質在於面對業務場景給出優雅的解決方案,使得業務能夠快速迭代和持續交付,從而達到降本增效的目標。提升架構認知高度,就像達克效應所描述的一樣,要敢於從愚昧之巔跳到絕望之谷,通過爬升開悟之坡,從而達到架構認知的巔峰時刻。到達巔峰時刻也就掌握了架構背後設計的哲學,面對具體業務場景在架構層面你便能夠輕松應對,以無招勝有招。
提升架構認知,要緊抓3個關鍵點:業務洞察力、技術視野、原創力(執行力)。
1.業務洞察力是技術戰略層面的問題,在當下能夠做出合理的判斷,清楚公司做什麼事情收益最大;

2. 技術視野即技術選型能力,是技術戰術層面的問題,在清楚做什麼事情後,需要進一步解決怎麼做的問題,也就是能夠給出合理的技術選型方案:是完全基於開源的方案,還是基於開源二次開發的方案,還是完全自研的方案;
3. 原創力(執行力)是技術落地執行層面的問題,一旦技術設計方案確定後,需要能夠快速Rush完成。
這3點層層遞進,最重要的是先把技術戰略問題思考清楚,然後再進一步解決技術戰術問題,最後是快速落地執行的問題。
工作5年左右的程序員,在原創力(執行力)層面比較有競爭力,往往欠缺技術視野以及業務洞察力。後面2點更加重要,這2點解決的是架構設計哲學問題,是架構師能夠持續擁有競爭力和影響力的立身之道。

舉個場景的例子來詳細說明:一提到分布式鎖問題,大多數人想到的方案是基於Redis的Master-Slave模式來實現。這個實現方案行不行?分布式鎖本質是一個CP需求,基於Redis的實現是一個AP需求,乍一看基於Redis的實現是無法滿足的。脫離業務場景來談架構都是耍流氓。
從技術戰略的需求層面來看,如果分布式鎖在極端情況下獲取鎖的不一致,社交業務場景能夠接受,那麼基於Redis的實現是完全可行的。如果業務是交易場景,分布式鎖在極端情況下獲取鎖的不一致性無法接受,那麼基於Redis的實現方案是不可行的。在鎖強一致性的場景下,需要採取基於CP模型的etcd等方案來實現。

Ⅱ 對程序員來說最難的是寫代碼嗎

謝邀。我是一名Java後台開發,還是一名工作沒多久的「碼農」。寫代碼作為工作的一部分其實不算難,甚至程序員寫代碼的時間比其他事情花的更少。我就分享一下咱們Java後端開發的小體會吧:

初級程序猿大部分都是寫增刪改查的業務代碼,增刪改查最需要技術含量的是查,歸根結底都是寫SQL語句,有的業務邏輯復雜一點就SQL語句復雜一點,或者資料庫里不好處理就在Java代碼里處理。只要資料庫學的還行,MySQL比較會用,Java功底有一定基礎,基本上都能勝任敲代碼的工作。

文|熱心哥哥宇文笑

文|熱心哥哥宇文笑

業務復雜
,有的系統尤其是一些toB的系統,比如一個上市公司的超市人力管理系統,這是非常復雜的,人事組織,薪資社保,還要針對不同地區分公司不同類別的員工進行不同的代碼處理。

業務復雜

需求變動頻繁
,有些項目的顧問或者產品經理沒把控好,導致需求被客戶拖著走,搞產品的可能覺得也就變化一點點東西,實際上有的功能代碼需要後端重寫,資料庫的表結構一變,那改動也是得跟著變。咱們敲代碼的朋友最不喜歡的就是返工,我們寧願去接受更多的開發新任務也不想再去重寫自己以前寫的代碼。(不用說什麼重構,這些業務代碼重構其實並沒有什麼技術上的突破)

需求變動頻繁

代碼優化
,其實比較難得住人得,尤其是難住我們這些剛入行的程序員。有的業務數據量龐大,就得先考慮資料庫優化,代碼多線程優化,總之優化代碼倒是一件比較進階的拆事,比敲代碼難。

代碼優化

來說說,作為程序員的你,最難的什麼呢?

Ⅲ 作為一個程序員,我發現同事寫的代碼有Bug,怎麼辦

作為一個程序員,你發現同事寫的代碼有Bug,你會告訴他嗎?講真的,這個事情對我來講,很難,因為我在這個事情上吃過苦頭!

看待這個問題首先得看對方脾氣咋樣,如果對方脾氣不好,或者很難搞,還是想想其他辦法。直接跟他講可能會遭到對方的白眼!

別看我們程序員一個個傻傻獃獃的,其實自尊心特別強!除非你是他的領導,否則即使你發現了他代碼里的Bug,他也不會服你!雖然還是會改,但內心一定在想:「就你能?自己管好你自己就成,看我代碼幹啥?」

其實我也是這樣的心理,好像程序員除非自己願意,否則都不怎麼喜歡別人去研究自己的代碼,好像對方故意找自己茬的意思。

但是不管咋樣,不管是有意無意,我們既然發現了同事寫的代碼有問題,就不能坐視不管!

我最近在調一個小夥伴的介面時,因為涉及到數據回滾,所以就想知道他的代碼有沒有做回滾操作。如果沒有,可能我這邊數據已經回滾了,他那邊沒回滾就會導致數據前後不一致。所以我也不是有意要審查他的代碼。

然後我就發現他不光沒有做回滾操作,也沒有做批處理。幾個涉及到修改數據的代碼就這樣一行一行走下來,看著直讓人撓後腦勺。

於是我就把這個事情告訴了他,讓他要麼做事物(如果操作有問題,可以自動回滾),要麼做主動回滾。否則我在調他介面時,如果我這邊撤銷了數據修改,他那邊卻提交了修改,就會導致數據丟失或前後不一致。

當我告訴他這個情況和解決方案以後,我能很明顯地感受到他有點不愉快。但事實擺在眼前,也只能修改。可修改歸修改,他還是有點脾氣的。於是他寫了一個事物,將大部分涉及到增刪改的語句全部包在了裡面,唯一把一個刪日誌的語句留在了外面。

我看到這個情況,就委婉地跟他說:「」好像這個刪日誌的語句也要包在事物裡面哦!」

但是他卻說,這個無關緊要,他特意放在外面的。

我跟他說,既然這里有數據存在,就不是無關緊要的。不管咋樣,也不能無緣無故就把數據給刪了。但是他很倔強,執意不改,還說如果我覺得這個數據有用,那就讓我自己「順手」把這里的代碼改一下。

此時我能明顯地感受到他已經有點煩我了!無奈之下,我把這段代碼給移動到了事物裡面。

而我為什麼說我因為發現同事代碼有Bug告訴同事而吃過虧呢?

原因在於我之前待過的一家公司,有一個工作了幾年的程序員同事,而我當時是個萌新。因為我專門培訓過,所以代碼能力還行。可這個同事雖然工作了幾年,但寫出來的程序代碼卻Bug一堆,常規測試手段還測不出來。

我是在偶然之間發現他寫的一個程序是有Bug,但是又不確定,所以就想看看他代碼是咋寫的。不看不知道,一看嚇一跳,他寫的好大一部分代碼都有問題!

我當時初生牛犢不怕虎,發現一個跟他說一個,結果最後把他給惹毛了,當場就要跟我動手,說我專門針對他。我哪有針對他的心呀!我當時想的是把這些Bug找出來,讓他改掉,否則對公司也不好。

但是他想的估計是被我這個萌新發現了一堆Bug很丟人。我總是針對他的代碼找Bug,他就是脾氣再好也綳不住啊!

後來我們的部門經理為了不讓他難堪,也為了給他個台階下,找了我寫的程序里的一個缺點,猛批了下,然後跟大家說:「我剛才看了看,大家寫的代碼有好多問題。這樣,大家都各自檢查一下自己的代碼,看看有沒有問題,有問題盡快改過來,然後我們統一測試!」

直到現在,我也沒學會當發現同事代碼有Bug以後,在不讓同事產生不愉快的心理的情況下,委婉地告訴同事他代碼寫的有問題的方法。

Ⅳ 做了1年的程序員,發現自己不適合做開發

你看看暴風影音的老闆馮鑫的傳記,銷售出身,見識廣,了解市場,有自己的關系群,對編程一點都不懂. 所以最好還是去做銷售.不過馮鑫到哪個公司都能做到銷售冠軍. 程序員一般創業基本上都掛.

Ⅳ 本人程序員剛進一家公司,半個月了,現在寫代碼寫不出來怎麼辦

我沒有做過程序員,但稍稍會點簡單的(自學)。我感覺一個成熟的程序是系統工程,初接觸者:無從下配廳敗手個人感覺很正常!

經常在網站上看到公司罵老的離職程序員代碼爛。我認為有二個原因:

1、培顫新入職的員工看不懂,自己不懂但罵罵別人,可以轉嫁風險,讓離職的背鍋,為自己爭取時間過渡或重建。

2、程序代碼易讀性太差,相關伏含說明文檔缺失。雖然實現了功能,但別人接手太難(普遍情況)。新入職除了重建,要麼深入讀懂每個邏輯結構(比重建難,要跟著前一程序員思維走)。

以上二點你大概也清楚什麼意思了。不知道你是維護老代碼呢,還是新項目?

如果是維護老代碼,多看文檔、查資料、了解程序思維,反正有工資拿,也不急。

如果入職的是新項目,說明你技術還不成熟,那就加緊學唄。我個人預計:程序員這行,邊學邊賣的占總比90%

個人見識有限,錯誤難免,重在交流交流!

Ⅵ 程序員寫100萬行代碼,到底是什麼感覺

內心是自豪的,頭發是掉光的。

一般來講程序員寫代碼,寫了幾萬行代碼都已經很不錯了,當然,一些工作時間長的是可以達到這個數量的。

搞開發這個東西雖然是創造的過程,但是實際工作還是比較辛苦的。

吃飯不準時,加班家常事,所以,還是以身體為重。

Ⅶ 寫代碼已經感覺寫不動了,一寫代碼就好累,這種時候是瓶頸期,還是需要停下來休息的訊號

如果你敲代碼沒有寫詩一樣的感覺,那麼證明你不是一個好的程序員

Ⅷ 如何看待程序員日均寫7行代碼被開除,大家對此事件有什麼想說的呢

不是我不明白,這世界變化快。俺當年入職時,一些公司的確會問代碼量。當時的標准大約是每周40到400行代碼,可以少,但不能多——換句話說,平均來說,每周多於400行代碼的可能得不到工作機會。因為你的代碼質量和工作態度讓人家心裡發毛。當然,也沒人太較真。功能點完成了、代碼質量可以(bug少、代碼邏輯清晰、文檔齊全),多點少點無所謂。

先後在多家公司擔任技術專家;平均來說,每周代碼量也就200行上下。當然,也搞過一次一天寫了2000行代碼的壯舉,結果是之後一個多月腦袋嗡嗡響,眼花,惡心。這個東西我事先花了一周多做設計、寫文檔,然後第二周的某天一氣呵成,寫完bug;然後累傷了,一個多月沒法工作。換句話說,相當於還是花了6周;平均下來,仍然是每周300來行代碼。

公司在與李某某簽訂勞動合同時並沒有約定一定要進行深度學習識別演算法代碼編寫,3D點雲演算法和多攝像頭聯合演算法代碼編寫的具體工作內容,所以沒有指明非要編寫這些代碼;拿什麼同級別同行業的平均每日編寫代碼的統計數據來作為考核的依據,沒有法律根據,任務不同,編寫難度不同,不能以編寫條數作為考核的依據;

至於工作內容,作為程序員並一定非要整天的在編寫代碼,也有可能在設計新的方案,或是對數據進行統計分析和總結等,不能以什麼編碼工作沒有做,就認為李某某沒有做出「成績」;作為剛來才兩個多月的程序員,前期的准備和熟悉是需要一個過程的,隨著對公司的熟悉和項目的了解,編寫代碼的速度必然會提高,而不能在剛來兩個月就以其他老員工的標准來進行考核;在發出解聘通知書後,馬上將其辦公電腦進行收回,這是嚴重的不尊重人,這屬於單方面強制辭退,沒有給李某某一點申辯的餘地。以上,公司理應對李某某進行賠償。

閱讀全文

與幹了5年程序員代碼還是寫的不好相關的資料

熱點內容
閑置的騰訊雲伺服器 瀏覽:437
rar壓縮包mac 瀏覽:626
php混淆加密工具 瀏覽:581
java把數字拆分 瀏覽:464
如何下載svn伺服器舊版本 瀏覽:559
命令與征服4攻略 瀏覽:914
實數四則運演算法則概念 瀏覽:294
cs16優化命令 瀏覽:871
Minecraft雲伺服器免費 瀏覽:828
png壓縮最小 瀏覽:182
老韓綜app怎麼看不了了 瀏覽:227
只有一個程序員的體驗 瀏覽:323
用伺服器地址怎麼有網 瀏覽:552
路由器伺服器昵稱是什麼 瀏覽:715
程序員男友消失了 瀏覽:401
程序員搜索框自動提示 瀏覽:28
android44api20 瀏覽:677
adb刷recovery命令 瀏覽:697
廣聯達正版加密鎖可以補辦嗎 瀏覽:945
java程序員一天多少行代碼 瀏覽:948