<bdo id="ks4iu"><del id="ks4iu"></del></bdo>
  • 
    <pre id="ks4iu"></pre>
  • <bdo id="ks4iu"><del id="ks4iu"></del></bdo>
    <input id="ks4iu"><em id="ks4iu"></em></input>
    
    
  • <center id="ks4iu"><cite id="ks4iu"></cite></center>
  • 首頁(yè) > 空調(diào) >

    即時(shí)焦點(diǎn):為什么程序員做的軟件總會(huì)出現(xiàn)這樣那樣的問(wèn)題,工資還那么高?

    張工是一名java程序員,有次,客戶反饋了一個(gè)緊急問(wèn)題,張工一接到任務(wù)立馬開(kāi)始排查bug,費(fèi)了九牛二虎之力終于定位到問(wèn)題所在,最后張工修改了5行代碼,bug解決了。


    (資料圖片)

    張工伸了一下懶腰,這時(shí)候財(cái)務(wù)妹子過(guò)來(lái)找張工確認(rèn)上次報(bào)銷(xiāo)的事情,見(jiàn)張工懶洋洋的。

    “不是吧,你今天又只改幾行代碼,你們做的軟件時(shí)不時(shí)出現(xiàn)這樣那樣的問(wèn)題,工資還那么高。你看看我,我今天都做了兩張報(bào)表,連去趟茶水間倒杯開(kāi)水都得一路小跑,真羨慕你們。

    張工一時(shí)竟無(wú)言以對(duì)。

    bug對(duì)于開(kāi)發(fā)者來(lái)說(shuō)并不陌生。改5行代碼,表面看似輕松,背后一直在超負(fù)荷運(yùn)轉(zhuǎn),所隱含的艱辛沒(méi)有經(jīng)歷過(guò)是難以體會(huì)的。

    作為一名軟件開(kāi)發(fā)人員,在開(kāi)發(fā)軟件時(shí),雖然我們一直小心翼翼地編寫(xiě)代碼,可做出來(lái)的軟件還是會(huì)出現(xiàn)這樣那樣的問(wèn)題,為什么會(huì)這樣的,首先我們來(lái)看看什么是bug。

    什么是Bug

    有人對(duì)bug作了這樣形象的比喻:你家里的窗可以從外面打開(kāi),那叫漏洞。你家里的窗打不開(kāi),那叫bug。

    但不得不承認(rèn),bug是必然存在的,好比人為什么會(huì)感冒。

    我們來(lái)看bug是一般如何出現(xiàn)的。

    開(kāi)發(fā)人員和產(chǎn)品經(jīng)理討論需求時(shí),雙方需求溝通不到位

    溝通本身是一個(gè)有損耗的過(guò)程,即使在溝通的過(guò)程中,產(chǎn)品經(jīng)理針對(duì)需求講了很多,可到了實(shí)際開(kāi)發(fā)的時(shí)候開(kāi)發(fā)人員還是需要查看需求原型、需求文檔,重新梳理需求。這時(shí)候要是出現(xiàn)需求模糊的又沒(méi)有經(jīng)過(guò)確認(rèn)的,可能做出來(lái)的軟件會(huì)導(dǎo)致更多的業(yè)務(wù)邏輯問(wèn)題和更多的bug。

    這只是產(chǎn)生bug的其中一種,可以說(shuō),每一位開(kāi)發(fā)人員背后都是踩著無(wú)數(shù)的bug一路走過(guò)來(lái)的。編碼是一個(gè)主觀的,完全由人主觀掌控的事情。可能你會(huì)說(shuō),不是有軟件測(cè)試人員嗎?測(cè)試的工作不就是通過(guò)逆向思維來(lái)給程序員查缺補(bǔ)漏嗎?確實(shí)是的,但測(cè)試人員的介入只是降低了軟件出現(xiàn)問(wèn)題的錯(cuò)誤率,并不能徹底消除bug。其實(shí)每個(gè)每個(gè)系統(tǒng)都有bug,只是有些bug沒(méi)有被執(zhí)行到而已。

    既然bug無(wú)法避免,那么對(duì)于bug,我們是不是就束手無(wú)策,拿它沒(méi)有辦法呢?辦法還是有的。

    首先我們最容易想到的一點(diǎn)是,增加軟件測(cè)試人員。多一人多一份力量,確實(shí),但也因此增加了企業(yè)用人成本。

    其次就是招聘一些經(jīng)驗(yàn)豐富的開(kāi)發(fā)人員,這樣也可以避免產(chǎn)生一些低級(jí)bug,代碼邏輯嚴(yán)謹(jǐn),系統(tǒng)穩(wěn)定性強(qiáng)。這樣確實(shí)可以減少一些明顯bug,但bug還是無(wú)法避免。

    最重要的是如何讓解決bug的這個(gè)過(guò)程更加快速。

    解決bug主要做兩件事情:

    定位bug的產(chǎn)生原因 修復(fù)bug

    作為一名軟件開(kāi)發(fā)人員應(yīng)該接觸不少bug,找bug是最耗時(shí)間的,特別是一些難以重現(xiàn)的bug。那么有沒(méi)有一些方法幫助我們定位bug呢,答案是肯定的。我們可以嘗試從下面幾點(diǎn)入手。

    日志管理

    系統(tǒng)日志記錄著我們認(rèn)為容易出現(xiàn)問(wèn)題的地方所產(chǎn)生的信息。但系統(tǒng)無(wú)時(shí)無(wú)刻都在運(yùn)行著,必然會(huì)產(chǎn)生大量的日志信息,如何從這些信息中快速的找到關(guān)鍵信息,就是需要考慮的問(wèn)題。我們可以給日志做一下歸類(lèi),定義不同的日志級(jí)別,在記錄的時(shí)候帶上前綴。譬如【info】、【warning】、【error】之類(lèi),對(duì)于error級(jí)別的信息自然是我們重視的,由于將其他級(jí)別的信息剔除掉,使得數(shù)據(jù)量減少,縮小排查的范圍,更加便于排查問(wèn)題。

    日志規(guī)范

    團(tuán)隊(duì)中,要是每個(gè)人都用自己喜歡的記錄日志的方式,沒(méi)有統(tǒng)一規(guī)范,那么從日志中找你需要的信息就變得很頭疼。所以,要做好打日志這個(gè)事情,統(tǒng)一一個(gè)規(guī)范很有必要,比如日志有時(shí)間,當(dāng)前上下文的參數(shù)等。

    注重編碼規(guī)范

    類(lèi)似這樣的經(jīng)歷或許你也有過(guò):

    回頭看看自己一年前編寫(xiě)的代碼,驚訝地發(fā)現(xiàn),哇哈,如此不規(guī)范的代碼,是誰(shuí)編寫(xiě)的?確定是我寫(xiě)的嗎?我能寫(xiě)出這樣慘目忍睹的代碼?分分鐘鐘懷疑人生。

    代碼規(guī)范的重要性我們都知道,但要真正做好,還需要我們?cè)趯?shí)踐中慢慢的累積,不斷修煉。那些看似無(wú)用的東西要經(jīng)過(guò)我們慢慢地累積由量變達(dá)到質(zhì)變的時(shí)候,相信你能體會(huì)到其價(jià)值所在。

    養(yǎng)成良好的代碼規(guī)范不是為了別人,也不是為了公司,而是為了提高自己的編程修養(yǎng),提高自己認(rèn)識(shí)事物的能力。讓自己編寫(xiě)的代碼可維護(hù)性更好、可重用性和可擴(kuò)展性更強(qiáng)。

    規(guī)范的代碼可以幫助快速調(diào)試程序,快速檢查找到問(wèn)題所在,節(jié)省時(shí)間。養(yǎng)成一種好習(xí)慣,添加注釋。

    有網(wǎng)友倜儻:程序員喜歡兩件事:

    喜歡說(shuō)別人程序不寫(xiě)注釋?zhuān)?/p>

    喜歡自己在程序中不加注釋。

    注釋的目的不是為了解釋代碼做什么——可以讀取代碼!注釋目的是為了解釋當(dāng)你寫(xiě)代碼的時(shí)候是如何思考的。

    在編寫(xiě)完代碼兩三個(gè)月后,可能我們已經(jīng)不記得上述任何問(wèn)題的答案,所以,寫(xiě)下來(lái)很有必要的,能為我們后面解決bug提供了重要的線索。

    重視溝通

    職場(chǎng)里,有的開(kāi)發(fā)人員在任務(wù)進(jìn)展過(guò)程中不重視溝通,認(rèn)為我只要最后把任務(wù)完成了就好了,結(jié)果往往需要項(xiàng)目負(fù)責(zé)人或上級(jí)主管問(wèn)起來(lái)時(shí)才想起來(lái)匯報(bào)進(jìn)展;更糟糕的情況是在開(kāi)發(fā)過(guò)程中遇到了問(wèn)題,沒(méi)有主動(dòng)溝通,而是等到別人問(wèn)起來(lái)了才說(shuō)出來(lái)目前遇到的困難。

    這樣會(huì)給別人造成極大的困擾和擔(dān)心:如果我沒(méi)有問(wèn),那么這個(gè)問(wèn)題是不是就卡在這里?項(xiàng)目進(jìn)度是不是就延期了。

    職場(chǎng)上,對(duì)你的職場(chǎng)形象造成負(fù)面影響的其實(shí)并不是事情沒(méi)有按期達(dá)成,因?yàn)橛袝r(shí)候確實(shí)有一些因素會(huì)導(dǎo)致事情無(wú)法正常完成,而危害最大的是你沒(méi)有及時(shí)溝通問(wèn)題,造成問(wèn)題的擱淺和發(fā)酵,最終造成的結(jié)果與預(yù)期不符;這會(huì)給團(tuán)隊(duì)帶來(lái)不必要的麻煩:出現(xiàn)問(wèn)題為什么不及早反饋溝通?

    你遇到的問(wèn)題,或者團(tuán)隊(duì)中已經(jīng)有人解決了。因此,我們需要意識(shí)到定期溝通的機(jī)制對(duì)于跟進(jìn)效果是一個(gè)重要的指標(biāo);那么如何搭建一個(gè)好的溝通機(jī)制呢?在這里給大家推薦一個(gè)SMART模型。

    S代表的是Specific:溝通內(nèi)容要具體 M代表的是Measurable:衡量指標(biāo)要量化 A代表的是Achievable:目標(biāo)制定要實(shí)際 R代表的是Relevant:個(gè)人的目標(biāo)要與團(tuán)隊(duì)目標(biāo)一致;團(tuán)隊(duì)的目標(biāo)要與公司戰(zhàn)略一致。 T代表的是Time:完成工作需要的時(shí)間,預(yù)計(jì)達(dá)成結(jié)果的時(shí)間

    編碼只是開(kāi)發(fā)人員工作的一部分,團(tuán)隊(duì)之間的溝通也不容忽視,溝通清楚了,需求理清了,避免一些業(yè)務(wù)邏輯因?yàn)闆](méi)有理解需求而產(chǎn)生bug。

    責(zé)任編輯:Rex_08

    推薦閱讀
    欧美国产在线一区,免费看成年视频网页,国产亚洲福利精品一区,亚洲一区二区约美女探花
    <bdo id="ks4iu"><del id="ks4iu"></del></bdo>
  • 
    <pre id="ks4iu"></pre>
  • <bdo id="ks4iu"><del id="ks4iu"></del></bdo>
    <input id="ks4iu"><em id="ks4iu"></em></input>
    
    
  • <center id="ks4iu"><cite id="ks4iu"></cite></center>
  • 主站蜘蛛池模板: 日韩欧国产精品一区综合无码| 青青草原免费在线| 欧美成人精品第一区二区三区 | 在线观看日韩视频| 国产小视频在线免费| 亚洲精品成人a在线观看| caoporn97在线视频| 男人j进入女人j内部免费网站| 日本三级在线观看免费| 国产中文99视频在线观看| 亚洲免费人成在线视频观看| 2022国内精品免费福利视频| 欧美性xxxx禁忌| 国产精品一区二区在线观看| 亚洲va久久久噜噜噜久久男同| 看全色黄大色黄女视频| 最新国产精品自在线观看| 国产在线观看中文字幕| 久久亚洲AV无码精品色午夜麻豆| 337p欧美日本超大胆艺术裸| 欧美人与性禽xxxx| 在线看片你懂的| 亚洲欧洲国产经精品香蕉网| 18一20岁一级毛片| 朋友的放荡尤物娇妻| 国产又污又爽又色的网站| 久99频这里只精品23热视频| 精品乱子伦一区二区三区| 成人午夜在线视频| 四虎影视免费在线| www.中文字幕在线观看| 永久在线毛片免费观看| 多毛bgmbgmbgm胖在线| 免费大片av手机看片| 中国老头和老头gay视频ha| 苍井空浴缸大战猛男120分钟| 成人免费视频软件网站 | 亚洲欧美中文字幕| 色一情一乱一乱91av| 日本在线xxxx| 国产AV无码专区亚洲AV|