導航:首頁 > 程序命令 > 程序員修bug真實寫照

程序員修bug真實寫照

發布時間:2022-05-23 12:27:13

A. 程序員寫的程序里的bug,會不會是鬼造成的

但大部分程序員都有一個問題就是不太願意測試自己的代碼。他們草草的調式完成以後就認為工作結束,測試那是測試人員的工作。
1. 影響了程序員自己的聲譽
2. 影響了產品的質量
3. 影響了客戶的信任度
4. 這個時候再 DEBUG 難度增大了許多。
大的不說,就說多自己聲譽的影響吧。如果你的程序總會有這樣那樣的 BUG ,你得到收益會減少,即使你寫了很多代碼。
程序員必須克服一些自身的致命缺點才能夠從根本上解決這個問題。那麼這個問題是什麼?前面我們已經提到,程序員對自己的代碼都非常寬容,認為那是正確的沒有問題。實際上這種想法比較正常,程序是通過程序員思考和設計之後才寫出來,程序員不會將自己認為不正確的東西寫到代碼里,而到這個時候都一直假設程序是正確的;但人非聖賢,怎麼可能不犯錯誤來。實際上程序員在對待其他程序員時候的態度就很好,帶著一種挑剔和學習的態度;但一旦對待自己的代碼就很難這么做;這就是最致命的。程序員也必須對自己的代碼帶著挑剔和學習的態度;這個基礎是假設自己的代碼是錯誤的,然後需要做的是怎麼樣證明自己的代碼是正確的。程序員自身可以在程序生成的每個階段做這些工作:仔細的設計(這個時候畫點時間是值得的,必須保證我們對自己的程序有清晰的輪廓後才能開始動手寫)、編寫代碼時、單元測試(單元測試的重要性就不在贅婿了)、功能測試。
仔細的設計:這個的仔細是說在程序員編寫代碼之前,其必須對代碼的整個結構以及邏輯結構有明確的清晰的了解,只有這個時候才可以去寫代碼。這里沒有談到文檔,但我說到了一定要清晰的思路,但清晰的思路不是每個人都可以在腦袋中直接形成的,很多人都是普通人,沒有辦法在腦袋瓜中把所有問題都想清楚,那麼就記下來,特別對於復雜的邏輯。
編寫代碼:對於沒有把握的代碼,例如:新設計的演算法,最好保證其正確性。可以單獨將這部分測試,這可以讓代碼模塊化的同時又保證了代碼的正確性。一句話:少量的代碼保證質量還是比較簡單的。
單元測試:單元測試的重要性不在贅敘了,現在也有許多工具可以幫助程序員並減少工作量。
功能測試:程序員保證自己代碼質量的最後一關;為了做這樣的工作我們可能必須寫一些代碼來測試,甚至是測試工作。使用大量的 CASE 來測試,以及錯誤的 CASE 。這里和測試人員的測試不同之處在於:仍然讓程序員的注意力放在其自己的代碼范圍內,減小了排錯的難度。
如果你通過了以上的步驟都找不出你程序中有任何問題的話,那麼我想你的程序應該足夠健壯了。其實還有一點必須說明的就是:代碼 REVIEW 。
前面說道了程序員對待別人代碼的態度是挑剔和學習的態度,所以讓其他程序員來 REVIEW 你的代碼也是檢查程序有沒有邏輯錯誤的很好的辦法。團隊中應該交叉 REVIEW 代碼,這是實踐的經驗。
作為一個好的程序員必須有以上的習慣,以及對待自己代碼象孩子一樣,我們要愛惜我們的代碼,同時也要讓代碼走正確的路。

B. 優秀的程序員是如何處理技術 Bug 的

從初入職場菜鳥到職場大咖,很多程序員在努力充實自己,有時候我們需要對自己進行一次能力定位,了解自己的優勢和沒有掌握的技術。芯學苑列出幾點作為初入職場的新手評估自己,明了前進學習的方向。
1、技術能力(解決問題的能力)
這是非常重要的事;過硬的技術能讓你得到面試機會,並在工作中游刃有餘。當公司招聘一個Java開發人員時,是會優先考慮能力因素的。在實際的項目開發中,一個程序員的技術能力等於其解決問題的能力。
如果拿一個尺度來衡量這個能力的話,一個程序員的能力可以用能完成任務的數量和難度來衡量。一個程序員能基本無誤的完成項目中的一個功能算是合格,但在此之前,他對項目的生產力為負,為他布置的任務,中間環節的溝通,修補bug的時間其實要多於自己直接完成該功能的時間的。能較好完成一個完整模塊的程序員才算是較好的程序員,也是項目中的主要開發者。能獨立完成整個項目才是優秀的程序員。
2、專業基礎(知識的積累)
一個程序員的知識積累很大程度上決定了其解決問題的能力。知道如何編寫代碼是基本的技能,但是知道Java編程語言的原理,知道代碼背後的演算法將使你從人群中脫穎而出。
3、主流編程工具
今天,事實是,你不能成為一個樣樣都懂的人(雜而不精)。你必須選擇你要掌握的工具。有時這是由工作的環境決定的,但是按照下面說的去做也是一個很好的選擇:
構建工具:Maven或Gradle。
SCM:Git(不是GitHub。大不相同)。
構建自動化:Jenkins。
IDE:Netbeans或Eclipse——不僅用於編寫代碼,而且還從IDE中重構和調試代碼。我遇到了很多沒有如何從他們最喜歡的IDE調試的開發人員。
Bug跟蹤:Bugzilla或Jira。
4、JSF的知識
應用程序伺服器
所有Java開發人員應該知道如何在Apache Tomcat中部署。
當Glassfish開發停止時,下一個最好的事情是J Boss Wild Fly。
5、溝通的能力
溝通是我們做好一切事情的關鍵。我們必須與我們周圍的環境保持互動,無論是在我們的私人還是職業生活中。一個良好的程序員知道如何在各種團體面表達自己。也許對你來說顯而易見的東西在他人的角度來看並非如此。
從大的尺度(比如一個人的工作生涯)來看,一個程序員知識積累的多少只決定於其自學能力和他對編程本身的興趣。
在一個分工明確的項目中,程序員需要理解產品,和領導溝通理解自己的任務,和同事們溝通以正確的方式進行合作。無論哪一個方面溝通出了問題都不是小事情,同時,程序員還需要正確的傳達設計的實現難度,以及讓別人正確的理解自己設計模塊的介面。在不寫文檔時,正確的口頭溝通非常重要,需要寫文檔時,良好的編輯能力也算做是溝通能力的一部分。
6、自學能力
這是一個非常重要的技能,在你自己的空閑時間學習新的技能。不要等待公司為你提供培訓。你需要自己去學習新技術,提升自己在相關領域的水平。從Java後端開發到架構模式,總是有一些新事物值得學習。經常閱讀博客和論壇,嘗試加入本地聚會小組。你學到的東西可以幫助你的事業。知識刷新頻率極快讓人無法追趕的這個時代,難免會有超出自己知識范圍的時候,此時你的自學能力決定了你能多快的完成任務。
7、良好的團隊合作精神
無論是部分編程還是大型項目,所有開發人員都是作為團隊的一部分在協同工作。你需要致力於團隊的目的,或幫助新的團隊成員克服障礙。不要存在這種「我只要做好我的本職工作,下班就直接回家」的態度。成為團隊的一部分,幫助周圍的同事,對自己的能力也是不小的提升。
就像拿破崙說的不想當元帥的士兵不是好士兵,追求參與一個大型軟體系統的開發,是每個程序員的夢想。在此之前,應該學習更多的專業知識,達到優秀程序師的標准。最後希望各位程序員閱讀本文後能夠得到一些裨益,在這條路上走得更好。

C. 什麼樣的程序員會有女生追兩人在一起會幸福么

嫁給程序員的女生認可程序員的三觀。在這個前提下,認為有幾個原因:

1.要真誠,要踏實,要靠譜。

他不知道聖誕節送我什麼。最後他買了一個以名字為域名的網站,花了一個星期打代碼做了一張聖誕卡!點擊後會改變的音樂和風格。

雖然這種做法有點直,但是比起很多不送禮物或者只是買個口紅的男生,覺得真的很難!這大概就是程序員的浪漫吧。

D. 如何看待程序員把Bug都改完就被開除了

作為一名碼農、程序員,加班算是家常便飯了。周一至周五晚上加、周末加、辦公室加、回家加、有償加、無償加……確實讓人看見就怕。
但是你加班的原因是什麼呢?讓我們一起來看看下面兩個例子。
01 程序員踩點下班,領導:不想乾的請辦理離職,我這里不養閑人與廢物
在職場上加班不是目的,加班是為了完成工作,當員工能在正常上班時間內完成工作,無需加班,這時候作為領導也就沒有必要讓其留下來加班。
然而也有一些公司領導不看產出只看員工加不加班,就有一領導經過幾天的觀察,發現新來的幾名程序員每天晚上不到八點就早早的下班走了。
對此這名領導很生氣,想管管這群新來的程序員,於是在群里通知稱:
都是幹嘛使的?八點不到都 TM 走了!不幹的直接說,現在就表態度,我這里從來不養閑人,也不養廢物!不幹的不想乾的都去人事那裡辦理離職。
其實員工有這種心態實在人之常情。但退一步想,為何老闆卻能做到 5+2、白+黑呢?難道老闆們都是鐵打的?都是超人?非也,只因他們是經營者,他們為企業負責,為自己負責。
員工往往拿的是固定工資,所以這就導致了老闆與員工焦點矛盾的局面:老闆只關心利潤,員工只關心工資。

E. 為什麼有些出入職場的程序員,必須要經歷加班修改bug的過程

我個人感覺不是所有職場的程序員都要經歷加班修改的過程,就算不是程序員其他工作的人員也會經歷。上班兒加班兒,這都是很正常。有的時候任務催的很急,肯定是要加班完成的。這些都是常識。只是職場的程序員加班。修改的比較多。程序員他進行的問題的解剖需求,各方面程序的分析運行也是非常多的。所以職場的程序員面對加班修改的經歷會比較多。




以上的情況是想說通常加班的人如果偶爾的話還是可以理解的,畢竟現在的工作都會有時候加點班。就是出來工作的,又不是出來享福出來玩的。所以也不是說職場的程序員必須要經歷加班修改,只是做的不對或者催稿的情況下會進行加班修改的過程。

F. 程序員改bug 問題是怎麼改好的

其實程序員改bug也是有學問的。程序員改bug跟醫生治病是一樣一樣的,無非一個是給機器看病,一個是給人看病。首先,一定要准確的定位引起bug的真正原因。定位問題,需要程序員去讀代碼,了解流程,弄明白來龍去脈。其次,定位bug源頭之後,就需要去分析解決問題的方法。分析問題,需要綜合相關知識,熟悉它所用到的一些機制,找到最佳解決方案。拿Android來說吧,比如修改wifi的bug,就需要弄清楚wifi的流程,stateMachine機制,消息機制,當然最基本的四大組建及其機制是必不可少的,哪裡都有用到。然後,才是去coding。當然coding,也應該注意一些問題,比如,風格盡量和源碼保持一致。Google那批程序員功底還是可以的。注釋一定要清晰,包括作者,改動時間,以及原因。最後,要強調一點,改bug一定要徹底。不能改一個bug一起另外一個或者一堆bug。一定要避免這樣的情況發生。我們公司就一個剛畢業沒多久的程序員,改bug不徹底,只改了界面顯示,弄的實際功能廢掉。對於這樣的代碼,我只想說兩個字:垃圾。另外,改bug要和相關模塊的工程師討論,因為他們或許就是這方面的專家,這樣才能寫出優秀的代碼。

有的人改bug改了幾個月,就會分開發的任務,或者層次更深一點的任務。有的人從進公司就一直改bug。不能否認公司方面有一定問題。但程序員也應該從自身方面找找問題。你寫的代碼是最高效的嗎?你寫的代碼讓別人很容易看懂嗎?你寫的bug讓別人呲之以鼻還是贊嘆不已?如果你做的不夠好,就不要整天抱怨:「又讓老子改bug,老子從進公司到現在都一直在改bug!」

G. 各位程序員都有過哪些令人哭笑不得的改bug經歷

其實程序員確實也遇到過很多的這個因素,比如說他們要把一些軟體改的好用一點,要不然時間長了人多了以後就出現卡頓,不改的話就會讓這個用戶流失,所以說這些bug我覺得挺有趣的

H. 程序員為什麼要一直改bug,不能一次性寫好嗎

軟體可能在使用過程中沒有任何問題,但不符合產品的預期下圖源自「How projects really work?」,很形象的突出了客戶需要的產品和最終得到的產品不一致。


所以軟體想要變得成熟,Bug收集和處理機制是非常有必要的,比如:會影響客戶使用的優先順序高的Bug要優先修復。Bug是軟體的影子,也是程序員的噩夢實際上不能存在沒有bug的軟體,Bug和軟體如影隨形。就像我們使用的Windows,窮盡無數優秀的軟體工程師來設計給用戶優秀的桌面體驗,但也有各種層出不窮的bug。

程序員對Bug有多愛就有多恨,Bug無處不在,即使再牛逼的程序員也逃脫不了Bug的魔掌。想要完全避免Bug幾乎是不可能的,所以也不在一次性就寫好的程序。以上個人淺見,歡迎批評指正。認同我的看法,請點個贊再走,感謝!喜歡我的,請關注我,再次感謝!

I. 身為程序員,當程序出現bug時,是一種怎樣的體驗

當程序出現bug的時候,程序員會有兩種感覺,一種是終於可以提現自己的價值了,當自己把bug修復好的時候,就會有一種成就感,但是如果很難修復的話,就會很頭疼,所有很多程序員很早就有一部分發際線就會變高。

J. 歷史上有哪些因為程序員寫出的bug而造成的事故

1. 火箭爆炸,原因:類型強轉(64b浮點->16b整數)導致異常
2. 火箭爆炸,原因:Fortran代碼筆誤(少一個減號)
3. 火星車故障,原因:vxWorks優先順序逆轉 -
4. 火星探測器墜毀,原因:用錯計量單位(磅與牛)
程序員導致的事故挺多,這些是嚴重點的。還有游戲更新把用戶電腦上文件刪光的...

閱讀全文

與程序員修bug真實寫照相關的資料

熱點內容
python中的雙色球 瀏覽:166
python解釋器里如何換行 瀏覽:410
python編寫格式 瀏覽:574
用python做出來的軟體 瀏覽:469
伺服器指示燈代表什麼 瀏覽:702
做一個單片機銷售需要知識 瀏覽:777
怎樣去連接加密wifi 瀏覽:682
有什麼app自帶拍攝模板的 瀏覽:435
登錄相親網為什麼要下載app呢 瀏覽:545
加密貨幣和主權貨幣撮合 瀏覽:683
哪裡能學app 瀏覽:445
spline怎麼看源碼 瀏覽:18
桂妃app哪裡下載 瀏覽:236
android代碼格式化快捷鍵 瀏覽:829
如何判斷伺服器的硬碟 瀏覽:654
雲伺服器挑選順序 瀏覽:887
卡銀家平台源碼 瀏覽:417
怎麼樣設置伺服器的ip地址 瀏覽:900
泡沫APP在哪裡下載 瀏覽:937
簡述高級語言進行編譯全過程 瀏覽:39