專訪千橡互動崔浩波:軟件開發(fā)Bug面面觀
原創(chuàng)【51CTO獨家專訪】相信每個開發(fā)者都會遇到Bug,相比于技術(shù)難點,它可能更讓開發(fā)者感到頭疼,那么大多數(shù)程序員面對Bug,會是一種怎樣的心態(tài)呢?如何正確的面對Bug呢?關(guān)于這些問題,51CTO獨家采訪了現(xiàn)任千橡互動開放平臺技術(shù)主管的崔浩波老師,以下是采訪全文。
千橡互動開放平臺技術(shù)主管 崔浩波
51CTO:在編碼過程中,程序員經(jīng)常會遇到Bug。您在做程序員時期,面對Bug是一種怎樣的心態(tài)?那么您現(xiàn)在作為技術(shù)主管,心態(tài)發(fā)生了怎樣的變化?程序員應(yīng)以一種怎樣的心態(tài)去正確面對Bug?您能否給廣大程序員一些建議。
崔浩波老師:在早期遇到Bug的情況下都習慣急于脫離自身去找原因解決,不會主動去審視自己的代碼和邏輯,往往大部分的Bug都是由于程序員自己的失誤,對業(yè)務(wù)理解不足造成的。“找理由”不能成為我們每一次逃避Bug的借口,一個愛“找理由”的人,成長的速度一定比時常自省自身的人慢很多。
我們絕對不是一開始就是編程天才,在工作中保持懷疑自己的代碼心態(tài)絕對不是丟人的事。Bug==經(jīng)驗,保持良好的心態(tài)和編程習慣,善于總結(jié)和學習,通過解決Bug積累起來的經(jīng)驗是我們職業(yè)生涯中重要的財富。
51CTO:為了避免Bug的頻繁出現(xiàn),程序員在編程過程中都會采取哪些方式方法?作為技術(shù)主管,您有什么樣的好的建議?
崔浩波老師:常見的功能性Bug都能夠通過早期程序員、產(chǎn)品和QA的測試中發(fā)現(xiàn),或者通過一些工具例如Findbugs來提高代碼的質(zhì)量,也能深入了解語言的一些特性。但是作為互聯(lián)網(wǎng)應(yīng)用開發(fā),往往會遇到許多隱性的性能Bug,這也要求我們有快速響應(yīng)處理線上Bug的能力。所以在產(chǎn)品的技術(shù)架構(gòu)設(shè)計中盡量評估方案的可行性,保證應(yīng)用上線后的質(zhì)量。
51CTO:在很多項目中,會遇到需求與最終產(chǎn)品的差異問題。您在實際工作中碰到這樣的問題是如何解決的呢?
崔浩波老師:有效的溝通成為團隊作戰(zhàn)中有效解決需求和產(chǎn)品差異問題的有力工具,我們基本保持每天十分鐘站立晨會的制度,反饋遇到的問題和進度。開發(fā)人員時刻需要同產(chǎn)品進行溝通,詳細說明自己對于產(chǎn)品需求的理解是否有誤,而產(chǎn)品也需要時刻跟蹤開發(fā)人員開發(fā)進度中遇到的問題。
51CTO:BUG出現(xiàn)的原因是多方面的,似乎不能光責備程序員一個人。那么您認為該如何劃分BUG產(chǎn)生的責任?BUG錯誤率會不會成為您所屬部門績效考核的重點?
崔浩波老師:在一個產(chǎn)品模塊中,產(chǎn)品人員和開發(fā)人員都應(yīng)該對自己的工作負責,往往Bug產(chǎn)生開發(fā)人員的責任要更多一些。更多的是思考在這個過程中是不是由于某些環(huán)節(jié)把控的問題,而不是責備。Bug錯誤率只很直觀地體現(xiàn)在線上產(chǎn)品的質(zhì)量上,所以會當著一個重要的績效考核隱性指標,過度地劃分產(chǎn)生的責任會造成團隊成員養(yǎng)成互相推諉和找理由的不好習慣。
51CTO:項目團隊里總會有一些新人加入,他們會帶來各種各樣的錯誤,而往往這些錯誤將直接導(dǎo)致開發(fā)過程中BUG頻出。作為項目主管您是如何幫助新人糾正錯誤,讓新人真正走上正軌融入到團隊的?
崔浩波老師:剛加入團隊的新人都面臨熟悉產(chǎn)品需求和環(huán)境的問題,Bug的頻出是可以被原諒的,安排導(dǎo)師讓他們更快熟悉和理解工作,更多地會告訴他們“什么不能做”,而不是“該做什么”,不限制個人的興趣愛好和主動性。
51CTO:回顧一下您的職業(yè)生涯,從最初的一名普通的程序員,到成為一名技術(shù)主管、總監(jiān),除了工作內(nèi)容發(fā)生變化之外,所關(guān)注的東西發(fā)生了怎樣的變化?一名程序員要想晉升到技術(shù)主管,您會給出哪些建議?
崔浩波老師:個人更崇尚“大道至簡”到“博大精深”的過程,不丟掉個人的興趣愛好,不停止和別人溝通,不吝嗇說出自己想法,不停止對技術(shù)的執(zhí)著,不漠視行業(yè)的訊息,推薦可以看一下周愛民老師的《大道至簡:軟件工程實踐者的思想》。
【51CTO獨家特稿,轉(zhuǎn)載請標明出處及作者!】
【編輯推薦】