導航:首頁 > 程序命令 > 寫bug的程序員小陳

寫bug的程序員小陳

發布時間:2022-09-21 17:59:38

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

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

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. 程序員改bug 問題是怎麼改好的

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

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

D. 程序員發現 Bug 的時候是怎樣一種心境

我覺得程序員發現bug,應該就有一種學霸發現做錯了一道題的感覺,根據這張題出現在自己試卷上還是出現在別人試卷上應該是有不同的心情的,下面就程序猿的心情來簡單聊一聊。

有時候覺得程序員真的是很牛逼,那麼一大串外星文字寫出來,真是完全看不懂,人家還能一心二用,一邊寫程序,一邊看小說。

E. 面試中被問到你遇到的java編程中的bug你如何解決的

首先,要認識 bug。
如果一個程序做了它不應該做的事,或者沒有做它應該做的事,那就是 bug。bug 很難避免,尤其在規模化的編程過程中。
我們知道從面向過程的角度來說,一個程序是由數據結構和演算法構成的,從面向對象的角度來說,程序可以是由類和對象組成的。因此 bug 我這里分成兩類:

在一個 Java 程序中,類和對象的關系可能會造成 bug。這是設計時的問題,例如多實例的同步問題、線程沖突和死鎖問題,這是常見的兩個潛在的 bug。要盡量避免這類 bug,只能在設計時下功夫。思路一定要清晰,一定要清楚每個類要做些什麼,什麼時候該做些什麼。這類 bug 比較容易發現,但是不易修補,因為牽扯到程序的不同部分,有時候相當麻煩,因此最好一開始就不要讓它出現。

然後一些細節上的 bug,屬於邏輯漏洞,可能是演算法上的漏洞。Java 其實這方面要比 C/C++ 安全,因為後者的某些漏洞是致命的,例如內存泄露、指針沖突、野指針等一系列問題,可能直接導致程序崩潰,但是 Java 絕對不會出現指針問題,內存相對安全。但是 Java 也可能導致內存不斷消耗,最終崩潰的情況也是有的。這個問題我也碰到過幾次了,如何解決?需要你對你大量使用的類非常熟悉,最好事先仔細看看文檔,有的類需要你最後 dispose 的,有的類 add 過後需要 remove 的,有的類的某些方法會間接地創造一些對象。這種 bug 不大容易發現,尤其是我們有時候對 JVM 的絕對信任而忽略了這些細節,甚至造成了不好的習慣。要麼不礙事,要麼很嚴重,一但出現問題可能會發現同樣的問題幾乎出現在所有的地方。所以避免這類 bug 只有謹慎,並且要養長良好的習慣。
順便說一句,Java 內存溢出後程序就直接退出,可能會導致數據丟失之類的,這個責任擔當不起的。
然後邏輯漏洞還沒講完,還有一些和內存無關,但是也是邏輯上的疏忽造成的,例如數組越界、空棧、格式不兼容等等。這些相當難發現,有時候是正常的,有時候就報錯了。這個可以說是最普遍的漏洞,也是最難發現的漏洞。這類漏洞要看程序員的水平,經驗豐富、思維清晰、反應敏捷、習慣良好的程序員會好一點,但是不是所有的程序員都是這樣的,再說人無完人,再怎麼水平高也難免犯點小錯嘛。這種漏洞基本都是在後期測試(傳說中的內測)和已發布的測試版中逐漸被發現。為了盡量早發現,內部的測試要做的好,不過首先負責各個部分的程序員之間要定下默契,程序要符合規范,類和方法盡量簡單化,不要一個方法出現 4 個以上的參數,因為那樣會巨大的增加測試的麻煩。要寫好注釋,變數名寫完整,等等規范就不一一列舉了。然後對測試人員的要求也是比較高的,測試人員必須熟練掌握測試技巧,有的團隊這些小 bug 的修復也是測試人員做的,那測試人員也要良好掌握調試技巧,團隊內人員要保持良好的溝通。

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

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

G. 程序bug出現的原因是什麼

原因是多方面的,比如程序邏輯不嚴謹、程序變數類型設置不當、程序演算法不完善等。

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

作為一名程序員,我也總是在調試,Bug總是防不甚防的出現,這個過程真是有趣又痛苦,最後我覺得習慣就好,一次性寫出完美代碼是每個程序員不可實現的夢想。

  • 程序員作為一項工作,是有任務有指標的,比起慢慢寫出完美程序解決所有問題,大家更喜歡快速看到一個可以執行解決部分問題的程序,此時完成比完美更重要。

  • 沒有哪個程序員可以寫出完美的代碼,即使高能又偉大的公司也做不到這一點,想想看你的手機軟體是不是經常提醒你該更新了,連微軟都在三天兩頭的讓你打補丁,不是嗎?

    I. 世界上第一個將計算機漏洞稱為bug的人,是誰

    格蕾絲•霍普;她是世界上最早的女程序員之一,1943年他加入美國海軍操作馬克一號計算機,馬克一號是第一部萬用型計算機,1947年馬克一號升級為馬克二號,9月9日這天,馬克二號出現故障,無法運行,花了一天時間找到毛病處,是一隻飛蛾飛進實驗室卡在繼電器裡面,導致了計算機停運,幽默的格蕾絲把這只飛蛾粘在了馬克二號的運行日誌上並寫道史上第一個被發現的計算機bug,本來只是個玩笑話,格蕾絲卻無意間成為史上第一個用bug來形容計算機故障的人。

    閱讀全文

    與寫bug的程序員小陳相關的資料

    熱點內容
    linux中命令大全 瀏覽:36
    pic單片機學習網站 瀏覽:163
    843除6的演算法 瀏覽:376
    arduino編程視頻 瀏覽:744
    pdf背景綠色 瀏覽:612
    記事本dos命令 瀏覽:274
    伺服器如何搭建多個節點 瀏覽:326
    acx演算法 瀏覽:258
    幽冥詭匠漫畫全集用什麼app可以看 瀏覽:1001
    租用伺服器為什麼越來越慢 瀏覽:960
    演算法創新就業方向 瀏覽:423
    演算法最優解作者 瀏覽:868
    通達信紅綠寶塔線指標源碼 瀏覽:668
    app是什麼東西合法嗎 瀏覽:232
    怎麼鎖app視頻教程 瀏覽:841
    迅捷pdf注冊碼生成器 瀏覽:750
    androidsdkosx 瀏覽:304
    壓縮面膜紙熒光 瀏覽:842
    app怎麼分身三個 瀏覽:746
    電影bt下載源碼 瀏覽:424