當我們面對bug得時候

2021-03-31 08:56:59 字數 2356 閱讀 3838

新年又到了,不得不感慨時間過的快啊。不知不覺,也打了本命年。都說本命年難過,可是我這個沒啥信仰的人還不知道找誰祈福。無論如何,都祝願看到這篇

blog

的夥伴們、同仁們、兄弟姐妹們身體健康。

到了年底除了忙著交貨、結案之外,還不得不打小九九的就是今年的績效如何了。通常上點路子的公司都會在每年的年底制定好來年的

kpi,更何況我所在公司

20的國際品牌經營,這方面自然流程上很嚴謹,效果如何再議,起碼本人還是持保留意見的。

恍惚間,依稀記得今年的

kpi中有一項就是

bug of kloc

。翻譯成中文就是千行

bug率。一年下來,不忙不忙,**好歹也寫了一通一堆一什麼的。翻翻

clearquest

,不由驚呼,

bug這麼多。還記得第一次看到的時候都不相信這個是自己的

bug,太多了。我對自己的**水平還是很有信心的,好歹以前也是寫c和

c++的。送到軍審的阿。怎麼這年頭用

c#反而問題這麼多。冷靜下來後,仔細的分析這些

bug來。

這一分析,歸納,發現因為純個人失誤的很少很少,畢竟寫

c的人**風格都是很嚴謹的。最多的是因為需求改變引起的,接下來就是因為其他人的介面更改導致的

n多錯誤。還有就是一些介面什麼的(最恨就是這個)。也許,這些都可以給我很多理由來說明自己並不是表現的那麼差,不過年底了,我要專業答辯,有

kpi的指標要求,那我該怎麼辦呢?會有這個機會給我解釋嗎?所以我不由得想到主管看到

bug時候應該會是什麼反應。

還記得溫伯格的書中提到乙個笑話,上帝問程式設計師今年最大成就是什麼,程式設計師說

bug少了一半。上帝聽不懂

bug是什麼,問宰相。宰相耳語一番,上帝大怒,吼到不許再有

bug,自此以後每年朝拜上帝,程式設計師都說今年沒有

bug。上帝很開心。不然的話,只有聽到:上帝很生氣,後果很嚴重。

聽上去是乙個笑話,溫伯格也把這個歸為「字典魔法」。而我更想想談談當我們不同的角色看到

bug的時候應該有的合適的反應,一家之言。

首先當然是寫**的人。通常說的程式設計師或者軟體工程師。一年辛苦下來看到自己的

bug那麼多,正常點的有點羞恥心的都拉不下這個臉。我覺得這個時候最忌諱的就是想盡辦法推卸責任或者根本不屑一顧。無論如何,有

bug就表示系統還有缺陷,還不完美,個人還有提公升空間,及此提高自己一件好事情。首先做的事情就是給這些

bug分分類。從需求、分析、設計、**、邊界、部署等等幾個方面進行分類。我發現大多數的

bug其實都是設計錯誤而非簡單意義上的**錯誤。我相信乙個語言用上半年就很少會因為純粹的語法而導致錯誤,而且每個問題都有無數種解決方法,根本無法簡單的劃分好壞。所以通常問題出在面對需求,面對問題時候我們做出了錯誤的決斷,這些錯誤決斷可能來自根本不成立的假設、根本不了解實際情況、已經發生變化的邊界模組或者處理方法的不科學。有一部分是態度,還有一部分是水平也就是做事情不科學,其實這事最直接也是最快得發現自身問題的途徑,我們可以及此來改善自己分析問題的方式,從而提公升自己解決問題的能力,擴充個人解決問題的思路和方式。而態度方面主要是溝通的不主動。程式設計師相對而言給人的感覺都是比較閉塞,不願意跟人打交道。的確,但是作為乙個職業素養較高的軟體工程師而言應該把溝通作為職業技能的一部分。我們在和機器溝通的能力之上應該搭建一層和人交流的平台。

其次,則是專案經理。我個人覺得他對

bug的態度在組織中極為重要。畢竟是乙個承上啟下的人物。在公司裡面下面的人和高層溝通的機會很少,意見都是通過專案經理的報告向上傳遞。而高層對

bug的反應也是通過他們的行為變化間接的影響到下面人的日常工作上。所以,我覺得專案經理面對

bug應該表現出最大的冷靜以及最寬容的心態。切莫看到

bug資料的時候,簡單比對誰對

bug的貢獻最大就臭罵誰一通。畢竟專案中不同模組的難度是不一樣,哪怕是同一件事情,何不同的人打交道都會導致不同的結果。最典型的就是需求的質量。對

bug的影響應該說是最大的。所以,我覺得專案經理應該是首先分析出哪類

bug對專案的影響最大,如果缺陷管理工具好的話,這個應該是很容易的。通常而言,大腦中直接反映出來的應該是是否是進度太敢導致大夥壓力太大有點趕工,是否是輸入的工件質量太差,是否沒有建立很好的溝通平台,是否自己做事情太武斷,沒有聽取大家的意見導致基線偏離。如果真的是這些問題,我覺得改善起來應該也不是太難,而且交流得當反而可以促進磨合。例如,趕工現象嚴重,可以和大家解釋一下市場

]壓力太大,競爭對手太強。輸入的工件,可以找到當事人或其主管交涉,爭取自己的正當利益。講好得每個星期的週會是否堅持開了下來,週報是否都看了。相反,如果發現

bug多卻不及時溝通,牴觸情緒自然很大。畢竟這個也算績效的一部分。而且程式設計師通常覺得自己很委屈,很多事情不坦誠溝通的話,會認為對方只顧自己利益不考慮別人,其實都是給老闆打工,屬於階級弟兄,人民內部矛盾。

當我們在談進製的時候,我們在談什麼

關於進製,前幾天一朋友詢問二進位制和十六進製制的區別。遂在此總結一下關於進製的相關知識,回憶一下計算機的基礎內容,也幫朋友更好的理解一下。進製是一種記數方式,亦稱進製計數法或位值計數法。利用這種記數法,可以使用有限種數字符號來表示所有的數值。一種進製中可以使用的數字符號的數目稱為這種進製的基數或底數...

當我們學OC的時候,我們在學什麼

實現部分 成員變數 屬性 init,self,super 擴充套件 件 import 引入標頭檔案,與c語言類似 ns assume nonnull begin ns assume nonnull beginns assume nonnull end。在這兩個巨集之間的 所有簡單指標物件都被假定為n...

Linux容器 當我們談容器的時候,我們在談什麼

docker在當下很火,那麼,當我們談docker,談容器的時候,我們在談什麼?或者說,你對docker,對容器了解嗎?容器,到底是怎麼一回事兒?這篇文章著重來講一下linux容器,為什麼強調linux容器,而不是docker,是因為docker是基於虛擬化技術來實現的,但是這篇文章涉及到linux...