Ⅰ 程序員為什麼要一直改bug 不能一次性寫好嗎
首先,你得知道有什麼bug,才能修復,不可能一次性修復完。
Ⅱ 為什麼有些出入職場的程序員,必須要經歷加班修改bug的過程
我個人感覺不是所有職場的程序員都要經歷加班修改的過程,就算不是程序員其他工作的人員也會經歷。上班兒加班兒,這都是很正常。有的時候任務催的很急,肯定是要加班完成的。這些都是常識。只是職場的程序員加班。修改的比較多。程序員他進行的問題的解剖需求,各方面程序的分析運行也是非常多的。所以職場的程序員面對加班修改的經歷會比較多。
以上的情況是想說通常加班的人如果偶爾的話還是可以理解的,畢竟現在的工作都會有時候加點班。就是出來工作的,又不是出來享福出來玩的。所以也不是說職場的程序員必須要經歷加班修改,只是做的不對或者催稿的情況下會進行加班修改的過程。
Ⅲ 程序員為什麼要一直改bug 不能一次性寫好嗎
程序寫代碼就像造一座大樓,如果即便經過嚴格的設計論證,裝配高質量的部件,最後還有系統性地驗收,讓你去造這么一座大樓,你能保證不管是窗戶安沒安好,還是地基挖淺了挖深了,還是牆皮脫落,都一個問題沒有?
回想早年的小程序,執行某一個具體的任務,明確的輸入輸出,一般是不會有bug的。
但現在的軟體開發,早就已經不是一個人在戰鬥了,大部分的工程,開發規模5人左右居多,另外稍大的軟體工程動輒幾十人,更有甚者幾百人的團隊規模並行作業。你試想一下,要保證這么多人的產出都符合設計要求,勢必需要合適的開發流程,需要更多的項目管理的技巧和方法。這就對個人以及團隊的提出了非常高的要求了。
軟體工程的方法論中,要求軟體開發者盡可能多地在軟體測試階段發現bug,而不是交付之後。
但是樓主說的能不能讓軟體開發出來沒有bug,我覺得把下面這幾個事情做好,還是有可能的。
1、花盡可能多的時間,和客戶溝通軟體需求,了解每一項需求的用意。
2、確保軟體需求不能隨意變動,因為很多情況下一個需求的變化,程序會帶來很多問題,有可能連底層結構都需要跟著一起變動。頻繁的需求變動,加上開發周期和成本的約束,帶來的結果就是軟體質量的不可控。
3、確保軟體測試質量,完成全覆蓋測試,設計系統需要的全部用例並保證全部通過。
總結下,軟體項目在實際開發過程中風險點還是很多的,通過合理的控制,可以降低和減少bug。但是軟體本身是為人的需求而生,只要需求在變化,軟體是永遠都需要跟著去維護和更新的,所以只要有不可控的因素(需求分析,系統設計,系統詳細設計,編碼,單元測試,集成測試,系統測試,驗收等)任何一個環節任何一個人產生問題,反映到最後的軟體產品上就是一個bug。
另外Bug分很多類,一類是對用戶來說不能正常使用,能被用戶感知到的錯誤。一類是用戶能正常使用,但是有各種異常的錯誤。一類是使用沒有任何問題,但是不符合產品預期的問題。其他應該還有很多,這里我們一一討論。
對用戶來說不能正常使用,能被用戶感知到的錯誤。
其中一種情況是程序員和測試人員的問題,所有功能在上線前,工程師和QA人員應該測試,回歸完功能。能被用戶感知到使用流程有問題的話,一定是相關人員能力或者線上意識某一方面欠缺,也是最不能容忍的。
另外一種情況是黑天鵝事件,什麼網線被挖斷,機房被炸,伺服器爆炸什麼的。。。。。。 ,這個說實話,出了在軟體架構上做冗餘,目前沒有什麼特別好的辦法。
2. 用戶能正常使用,但是在用戶看不到的地方有各種異常的。
一個功能模塊幾乎不可能是獨立的,它必然牽扯到其他模塊。對於你所依賴的模塊,你沒辦法保證這些模塊是100%可用的。這個時候可能雖然有錯誤,但是只要不影響主要流程,我們依然可以正常使用。但這個時候對於外部依賴的異常處理,很考驗工程師的能力。
舉個例子,有可能你看到的點贊數比你實際收到的點贊數少。這個是由於點贊統計在什麼時候失敗了一次,某些用戶可能認為這個是bug,但是其他可能不會在意(當你有10001贊的時候,你在意少了1個么?)
3. 使用沒有任何問題,但是不符合產品預期
這個更多的是研發和產品經理對於需求理解的不一致。因為文字是有二義性的,況且人和人對相同文本的理解本來就可能出現偏差,這就導致了需求理解的不一致,最終導致了線上產品不符合預期。對於內部人員來說,這個也算BUG。
說了那麼多,最主要的核心在於實現功能的是人。人不像機器,不可能不犯錯;同樣的,不可能存在沒有bug的程序,像大家使用的windows,窮盡無數優秀的工程師,給予用戶優秀的桌面體驗的同時,也有你可能完全看不到的數千個bug。想要完全避免幾乎是不可能的。所有也不存在一次性就寫好的情況,鬼知道產品經理什麼時候改需求呢~
Ⅳ php程序員寫的代碼為什麼總有bug
弱類型以及即編即譯等等靈活的特性,註定PHP必須要有犧牲一定的穩定性的前提來達到。換句話說,通常JAVA中一些BUG可以通過編譯機制可以盡早的扼殺早搖籃之中,即使是運行期的錯誤,也可以通過編譯機制找到。同時,強類型語言的嚴謹的代碼編寫風格,也不容易出現由弱類型語言中那些讓人又愛又恨的類型自動轉換發生的意想不到的行為。
最終,我可以認為PHP為了快速開發,做出了他應有的犧牲。把更多的代碼控制權力交給程序員,而不是交給機器,這也意味著代碼的有效性考驗著作為程序員本身的編程能力。更可能是程序員本身對編程思想的理解程度。不過,PHP大多數都是用來開發web站點,而且還有很龐大的社區,以及許多優秀的框架,這些都可以幫助PHP程序員在開發中減少不必要的麻煩。
BUG不可避免,BUG與否決定在你!
個人經驗,少年,你如果要開發應用的話,這個年代不用框架,就等於自己為自己增加N倍的難度。在下推薦幾款框架給你吧:
LARAVAL (強力推薦),YII,codeigniter.......
Ⅳ 為什麼程序員要一直改bug
即使是那些經過嚴格訓練的程序員還是不可避免出現bug
軟體越復雜,就意味著代碼行數越多
只要你在編程,即使你很擅長寫代碼,也一定會有錯誤和bug出現
所以才有不斷的優化和更新
Ⅵ 程序員為什麼要一直改bug,不能一次性寫好嗎
軟體可能在使用過程中沒有任何問題,但不符合產品的預期下圖源自「How projects really work?」,很形象的突出了客戶需要的產品和最終得到的產品不一致。
所以軟體想要變得成熟,Bug收集和處理機制是非常有必要的,比如:會影響客戶使用的優先順序高的Bug要優先修復。Bug是軟體的影子,也是程序員的噩夢實際上不能存在沒有bug的軟體,Bug和軟體如影隨形。就像我們使用的Windows,窮盡無數優秀的軟體工程師來設計給用戶優秀的桌面體驗,但也有各種層出不窮的bug。
程序員對Bug有多愛就有多恨,Bug無處不在,即使再牛逼的程序員也逃脫不了Bug的魔掌。想要完全避免Bug幾乎是不可能的,所以也不在一次性就寫好的程序。以上個人淺見,歡迎批評指正。認同我的看法,請點個贊再走,感謝!喜歡我的,請關注我,再次感謝!
Ⅶ 程序員為什麼要一直改bug
程序寫代碼就像造一座大樓,包含有地基、樓層、窗戶等。而且現在的軟體開發,大多是團隊合作,多人的合作產出都符合設計要求,勢必需要合適的開發流程,需要更多的項目管理的技巧和方法。這就要求軟體開發者盡可能多地在軟體測試階段發現bug,而不是交付之後。
另外Bug分很多類,一類是對用戶來說不能正常使用,能被用戶感知到的錯誤。一類是用戶能正常使用,但是有各種異常的錯誤。一類是使用沒有任何問題,但是不符合產品預期的問題。
1、對用戶來說不能正常使用,能被用戶感知到的錯誤。
其中一種情況是程序員和測試人員的問題,所有功能在上線前,工程師和QA人員應該測試,回歸完功能。能被用戶感知到使用流程有問題的話,一定是相關人員能力或者線上意識某一方面欠缺,也是最不能容忍的。
2. 用戶能正常使用,但是在用戶看不到的地方有各種異常的。
一個功能模塊幾乎不可能是獨立的,它必然牽扯到其他模塊。這個時候可能雖然有錯誤,但是只要不影響主要流程,我們依然可以正常使用。但這個時候對於外部依賴的異常處理,很考驗工程師的能力。
3. 使用沒有任何問題,但是不符合產品預期
這個更多的是研發和產品經理對於需求理解的不一致。因為文字是有二義性的,況且人和人對相同文本的理解本來就可能出現偏差,這就導致了需求理解的不一致,最終導致了線上產品不符合預期。對於內部人員來說,這個也算BUG。
Ⅷ 如何看待程序員把Bug都改完就被開除了
作為一名碼農、程序員,加班算是家常便飯了。周一至周五晚上加、周末加、辦公室加、回家加、有償加、無償加……確實讓人看見就怕。
但是你加班的原因是什麼呢?讓我們一起來看看下面兩個例子。
01 程序員踩點下班,領導:不想乾的請辦理離職,我這里不養閑人與廢物
在職場上加班不是目的,加班是為了完成工作,當員工能在正常上班時間內完成工作,無需加班,這時候作為領導也就沒有必要讓其留下來加班。
然而也有一些公司領導不看產出只看員工加不加班,就有一領導經過幾天的觀察,發現新來的幾名程序員每天晚上不到八點就早早的下班走了。
對此這名領導很生氣,想管管這群新來的程序員,於是在群里通知稱:
都是幹嘛使的?八點不到都 TM 走了!不幹的直接說,現在就表態度,我這里從來不養閑人,也不養廢物!不幹的不想乾的都去人事那裡辦理離職。
其實員工有這種心態實在人之常情。但退一步想,為何老闆卻能做到 5+2、白+黑呢?難道老闆們都是鐵打的?都是超人?非也,只因他們是經營者,他們為企業負責,為自己負責。
員工往往拿的是固定工資,所以這就導致了老闆與員工焦點矛盾的局面:老闆只關心利潤,員工只關心工資。
Ⅸ 軟體存在bug是程序員把代碼打錯了造成的嗎
從你的描述來看,軟體存在bug,不是程序員把代碼打錯了,而是代碼設置不合理,比如需求不合理,軟體的操作上,設計上原本就存在邏輯漏洞,多個單體能夠正常工作的模塊結合到一起產生問題,異常場景沒有考慮到等等,很多原因都可能產生bug。
Ⅹ 有哪些事情是程序員都知道,但大多數人不知道
1. 原來Bug是永遠改不完的程序員的日常三件事:寫Bug、改Bug、背鍋。調侃程序員時,就經常會說:「喲,又在寫Bug。」。
文章圖片2
圖片來源於網路,如有侵權請聯系作者刪除
2. 原來程序員工作後不繼續學習是要被時代淘汰的互聯網行業作為高薪行業之一,與其他行業不同,它的入行門檻低,賺錢快,只需要會寫代碼就能入行。許多年輕人受到「高薪誘惑」,紛紛湧入程序員這個賽道,讓這個本來就很擁擠的行業競爭變得更加激烈殘酷。
文章圖片3
圖片來源於網路,如有侵權請聯系作者刪除
3. 原來程序員不能一直死磕技術在互聯網行業,技術雖然是核心競爭力,但是技術永遠是為業務服務的,兩者結合最終才能創造出價值。作為一名程序員,技術固然很重要,只有對演算法進行了深刻理解、掌握了數據結構、資料庫、操作系統等知識,才能做出改變整個行業工作方式的框架出來,甚至連產品設計、業務功能都要憑借技術才能做到。
4. 原來程序員不穿格子衫、頭發黝黑曾經流行這樣一種說法:程序員支撐起了全世界的格子襯衫產業。一個程序員必備的四件套:格子衫、黑框眼鏡、牛仔褲、運動鞋。
文章圖片4
圖片來源於網路,如有侵權請聯系作者刪除
5. 原來程序員只是一份普通的職業每個程序員都只是普普通通打工者的一員,每天要面對腦力和體力的雙重暴擊,如果不小心編寫出了錯誤的程序,就會看到滿屏的錯誤警告。還有,不是每個程序員邏輯都很好……作為程序員,經常面對被人誤解的喪、還要保持懶得辯解的忍……
文章圖片5
圖片來源於網路,如有侵權請聯系作者刪除
6. 程序員其實可以朝九晚六不加班。
7. 很多時候體力活大於腦力活。
8. 很多時候處於底層,相對於業務方,產品,測試等等。
9. 揮灑代碼大多數時候都是復制粘貼。
10. 大多數bug不是代碼問題,是用戶環境或者網路原因。
文章圖片6
圖片來源於網路,如有侵權請聯系作者刪除
11. 有些人就等著被辭退,然後重新找工作,既漲工資又拿補償。
12. 上班時間是上班時間,下班時間是自己時間,拉屎喝水盡量在上班時間干。
13. 看到網上有公司老闆問問題,加班之類的,記錄下公司名,保存到黑名單,絕不入坑。