A. 程序員都有祖傳代碼,就不會有問題了嗎
程序員被戲稱為“碼農”,天天與代碼打交道的他們按理說應該對代碼有著深厚的感情基礎,但在每個科技公司都有這樣一種代碼:多數程序員們都怕遇到,有經驗老碼農有時候也束手無策,往往一步錯、步步錯,動了一小行,改大半月。相信很多程序員都被這種代碼折磨過,就是大名鼎鼎的“祖傳代碼”
傳統觀點認為,工程技術團隊應該為代碼庫(也就是技術債務的所處環境)建立一種直觀的感受,了解其對公司的影響,而後在組織內建立信任。如果首席架構師強調重構核心代碼,那麼,開發者通常就得按照指示行動。誠然,如果公司可以對技術債務建立起一種共識與信任文化,這將有利於挽留優秀的工程師,並保持業務良好運作,但這往往需要多年努力。
B. 作為一名java程序員 目前的現狀該怎麼辦
我覺得IT行業,你找外企或國內的只要不是像你這種國企,都很不錯。
IT這個行業,在北上廣深,有一個很大的好處,只要你有真本事,很大程度上可以不問出身。
雖然我畢業時間不長,但是實習在好幾家公司呆過,外企也好,私企也好,都是很不錯的。
你也不能光憑別人的幾句話讓你一定有個好去處,你才辭職,我換句話說,難道如果你不能100%確定能找個靠譜的單位,你就不辭職了?你就打算在這蛀蟲窩里繼續浪費生命?
外面的世界很精彩,只要你有勇氣去看。
而且你說的這種公司,大概只存在在國企吧,我可以說絕大部分IT公司和你這個公司是絕對不同的。
引用一句話:紙上得來終覺淺,絕知此事要躬行。
C. 北京北大青鳥:程序員需要關注哪些代碼優化質量問題
對於程序員來說,軟體編程開發代碼質量能夠直接反應出一個程序員能力的高低,下面北大青鳥http://www.kmbdqn.cn/就一起來了解一下,在代碼質量優化方面,我們需要關注哪些問題。
1.吹毛求疵般地執行編碼規范嚴格執行代碼編寫規范,可以使一個項目乃至一個公司的代碼具有完全統一的風格,就像同一個人編寫的一樣,而且命名良好的變數,函數,類和注釋,也無疑可以提高代碼的可讀性.具體落實到執行層面,可以參照Google的編碼規范或者java官方的編碼規范,網上可以找到,關鍵是要嚴格遵守,並且在codereview時,嚴格要求,沒有按照規范的一定要指出並且要求修改.實際情況往往是雖然大家都知道優秀的代碼規范是怎樣的,但在具體寫代碼的過程中,卻執行的差強人意,很多情況是認識上不夠重視,覺得一個變數或者函數的命名成哪樣關系不大,所以不夠推敲,注釋很多也都不寫,codereview的時候大家也都事不關己心態,或者覺得沒必要太摳細節,導致慢慢的整個codebase變得越來越差.所以這里還是要強調一下,細節決定成敗,提高團隊對代碼規范的認同及其嚴格的執行是關鍵.2.編寫高質量的單元測試單元測試是容易執行,且對提高代碼質量見效快的方法之一還。
但還是有很多公司對單元測試重視不夠,包括一些大的互聯網公司,不寫或者隨便寫寫。
有些工程師覺得有測試團隊就夠了,再寫單元測試就是浪費時間。
其實測試團隊的測試和單元測試是在不同層面上的,測試團隊的測試一般是黑盒測試,系統層面的集成測試,對於復雜系統來說,組合爆炸,測試團隊無法窮舉所有的測試用例。
單元測試是代碼層面的測試,一般是針對類的測試。
既然無法從系統的整體上保證100%符合我們的預期,那單元測試起碼能保證我們代碼在細粒度上運行符合預期。
有些工程師認為開發任務重沒時間寫。
這個還是沒有足夠重視單元測試,覺得是可有可無的部分,才會有這樣的想法。
寫好單元測試,節省很多解決線上bug的時間,開發時間反而更充足了。
還有很多工程師雖然在寫單元測試,但只對正常流程做測試。
代碼中的bug多數是寫代碼時異常情況沒有考慮全面導致的,正常流程一般不會出問題。
單元測試的作用就在於測試各種異常情況下代碼的運行是否符合預期,所以只對正常流程測試無法發揮單元測試真正的作用。
D. 程序員的代碼潔癖在什麼情況下是一種惡習
我曾經是一個原教旨主義代碼重構極端分子。
改一個 bug 時,看了一眼代碼:嗯,重用率不高啊,重構一下。
重構的時候發現,咦,有兩處類似的功能調用的是不同的介面啊,應該有一個是後來添加的,但是有些功能下線以後就沒必要單獨保留了… 嗯,把那兩個介面統一成一個好了。
咦,這里的 coding style 不夠正統啊,改一下。命名不 consistent 啊,改一下。嗯,把調用到它們的地方也相應地改一下。
數天後,工頭問我:「bug 修好了嗎?」,我想起來:對喔,我最初是來修那個 bug 的…
就像是本來只 Google 某個術語,結果不慎沉淫 Wikipedia 幾個小時後,不知道自己是怎麼到的這個頁面,那個樣子的感覺。
UPDATE:
好吧,評論區被舊日工頭及工友發現了。匿名白匿了。不匿了。李奇老師當時就說我是個擅長給自己挖坑的傢伙。
再談下利弊吧:
如果是個人的小項目,以及還沒有上線,還在早期開發階段的項目,這樣的潔癖挺好的。
如果是已經在生產環境運行著的大項目,那麼還是謹慎一些,盡量不要挖坑。如果要開挖的話,先確定自己要做什麼,把會動到哪些部分的代碼都弄明白以後,再下手。並且重構完以後做好足夠的測試。
E. 你們是怎麼看待那些動不動就說別人代碼很亂的程序員
可以把這個作為互相交流的契機,既然他覺得亂,你就跟了解清楚為什麼覺得亂,怎麼才能不亂,說不定他說的有道理,你就能學到東西了,如果他說的不對,就用疑問的方式委婉地提醒他一下,如果他還是那樣,就隨他去了,他的觀點不重要,又不會影響到什麼的話,聽聽就好。
F. 為什麼程序圈的人總是說python程序員寫的是偽代碼
偽代碼,偽啥納悶了。我見過有人寫的代碼很高端,各種的封裝,很難看懂,封裝成jar,直接用裡面對應的java註解就可以了。使得程序員無法拼讀源碼,無法進行提升,你只能在上面寫業務代碼。
在說偽不偽我感覺不重要吧,重要是你的項目能產生效能,為公司掙錢,或者為自己掙錢,人還是要生活的。很多人用的代碼看起來很陳舊,但是他可以掙到錢,你用了很新的框架掙不到錢。代碼只是工具,還是以結果來說話的對吧
這種說法沒有正確與否。就程序語言而言,未來的趨勢就是減少低級代碼的編寫,python作為膠水語言,不需要注重性能,更關注用途,在使用上和人的思維更加接近。
程序圈的人因為寫過太多的低級代碼,需要注重性能和實現細節,python這種高級語言對於他們來說確實如此。
但是對於沒有寫過程序的人來說,python還是比較有親和力的,學起來也比較容易。
基本上說出這種話的,可以肯定他根本不懂編程。
一般中小學中二病患者,或者考不上高中,跑去培訓班學個編程就想冒充程序員的最喜歡說著話。
因為正規學習編程的,比如大學計算機系畢業的,不可能沒學過偽代碼。
偽代碼是專門設計用來講解,討論計算機原理,演算法,數據結構等的不可以運行的一種語言。
之所以叫偽代碼,是因為這種代碼沒有編譯器,沒有解釋器,從而根本無法運行,僅僅作為講課用。
上大學學過《演算法導論》,《數據結構》等課程的朋友,肯定對偽代碼不陌生,甚至還專門寫過偽代碼。
是的,偽代碼有自己獨特的語法,需要一定時間的學習。
比如賦值 x
G. 看很多程序員天天碼代碼,到底在寫什麼啊
寫代碼其實就是使用代碼語言將人們需要的功能實現。
H. 作為一個程序員,面對別人寫的稀爛的代碼,怎麼辦
在查閱代碼時,經常會發現一些寫的不合理的代碼。
面對這些代碼,首先需要確認修正這些代碼的影響范圍。
最理想的處置是對代碼進行重構,從根本解決代碼的混亂問題。
但是大多數情況,我們沒有時間進行重構,或者無法確保重構之後的代碼不會出現問題。
建議先解決最棘手的問題,然後慢慢對代碼進行分析,重構。
I. 航天橋北大青鳥分享程序員如何避免無效代碼的問題
對於軟體編程開發程序員來說,無效代碼堆積以及代碼質量低是很多新手容易犯的一些錯誤。
下面我們就一起來了解和學習一下,減少無效代碼的堆積都有哪些方法。
當曾經嚮往的職業變成一日又一日的無用代碼堆積,多少讓開發者有些心灰意冷,雖然無法保證整個產品質量,但至少可以在代碼層面下點功夫。
無用代碼堆積這種現象在日常軟體開發中非常普遍,對於需求頻繁被修改的問題,根源在於弄清楚軟體開發的目的是什麼,代碼有沒有用的終決定者應該是用戶,如果一段代碼具備的功能符合用戶需求,具備業務價值,那麼就是有用的。
在軟體開發過程中,需求變更和代碼修改是很正常的事情,但這個不確定性需要在一定范圍內。
對此,佳的解決方案可能是迭代開發,也叫迭代增量式開發,將整個開發周期分解為若干時間段,每隔一段固定時間就對軟體進行一次小迭代,每迭代幾次就進行一次全面測試和大版本更新,對開發成果進行質量評審,這個過程重要的是聽取終用戶的意見,以便及時調整優化,避免無效需求,尤其是決策者拍腦門出來的決定。
開發之前,技術負責人務必准備好相應文檔,確定好各工程師的分工,尤其是需要協同完成的部分。
另外,團隊盡量抽出時間和精力進行代碼Review,並以降低代碼復雜度為目標,如果不同工程師之間的代碼間經常互相影響,可以考慮讓這類程序員負責獨立開發模塊,降低對整個項目的影響。
長期以來,測試在國內的重視程度並不夠,一個測試團隊起碼應該有白盒測試、效率測試、單元測試等各類專職人員,不建議在所有功能完成之後才開始測試,好是完成一個功能就馬上交給測試,測試階段應由測試完全掌握主動權,開發必須尊重測試人員的工作。
歸根結底,航天橋北大青鳥http://www.kmbdqn.cn/認為軟體開發是一項非常復雜的工作,為了避免過程出錯,很多公司已經摸索並建立了成熟且完整的代碼編寫規范,包括變數命名規則、層次化設計、類和介面設計,到後的代碼Review都很清楚,重要的不是會寫代碼,而是學會解決問題,做真正有價值的事情。
J. 程序員還在寫代碼,為何被曝猝死
”隨著網路平台的發展,很多人為了博取他人的關注,就開始惡意的造謠。他們的這種所作所為,不僅影響了當事人的生活,也給他人的名譽帶來了一定的損傷。有一個程序員,他明明還在好好的認真工作,但是卻被別人傳出已經死亡的消息。這件事情對當事人造成了非常大的影響,目前這名程序員已經報警。希望這個造謠的人,可以被警察抓到,然後進行懲罰。因為他的這種惡意傳播,讓別人出現了社會性死亡,是讓人非常忌諱的一件事情。
謠言止於智者,對於沒有事實依據的事情,我們千萬不要跟隨大流一起來進行惡意的傳播,這樣只會將事態變得越來越不好控制。