<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          2022年第一個(gè)線上問題,被領(lǐng)導(dǎo)罵慘了!

          共 1925字,需瀏覽 4分鐘

           ·

          2022-01-15 21:08

          hi 大家好,我是田哥

          全職做面試輔導(dǎo)技術(shù)支持的田哥。

          昨天,一位朋友說他們生產(chǎn)環(huán)境出bug了,哎,年底了,今年的年終獎(jiǎng)估計(jì)涼涼了!

          這位朋友剛剛出道不久,出了問題,第一時(shí)間找的我。

          他把出問題的代碼發(fā)我了,叫我?guī)退鹯eview這段代碼。

          for?(ProductOrderItem?orderItem?:?orderItemList)?{
          ????if?(orderItem.getProductOrderItem_user().getUser_id()?!=?user.getUser_id())?{
          ???????logger.warn("用戶訂單項(xiàng)與用戶不匹配,回到購物車頁");
          ???????return?"redirect:/cart";
          ????}
          ????if?(orderItem.getProductOrderItem_order()?!=?null)?{
          ????????logger.warn("用戶訂單項(xiàng)不屬于購物車,回到購物車頁");
          ????????return?"redirect:/cart";
          ????}
          }

          看這段代碼,不是很簡單嗎?

          我只能盲猜了

          • 是不是兩個(gè)user_id不一樣,數(shù)據(jù)有問題導(dǎo)致的?
          • 你這user_id是Integer類型?
          • 或者是orderItem.getProductOrderItem_order()不等null?

          我讓他debug看看,過一會(huì),他說奇了怪了,并甩給我一個(gè)截圖:




          看到最后這張截圖,就不用想了,在判斷兩個(gè)user_id不相等的地方,我猜測IDEA編輯器已經(jīng)提示他了。兩邊都是Integer,屬于int的包裝類,也就是兩個(gè)Integer對(duì)象,你用!=去比較,這不是扯淡么?

          況且,人家IDEA編輯器會(huì)這么提示的:


          都明確提示使用equals()來做對(duì)象比較,假裝沒見,這鍋,沒人替你背了!

          使用IDEA編輯器開發(fā)的朋友,田哥建議你多看看IDEA給你的代碼提示

          問題來源

          暫且不討論他這代碼寫的很讓人不爽,怎么有的駝峰,有的下劃線?難道你們項(xiàng)目就沒有管這個(gè)嗎?讓你瞎寫,想干啥就干啥。我也問了,這位小伙伴是在一家小公司,在搞一個(gè)電商項(xiàng)目,由于急著上線,所以也沒顧忌到那么多。

          在此,也希望大家養(yǎng)成一個(gè)良好習(xí)慣,不要再這么編碼,對(duì)團(tuán)隊(duì)負(fù)責(zé)也是對(duì)自己負(fù)責(zé)!

          這位小伙伴出的問題,根本原因在于使用!=沒有使用equals()導(dǎo)致的。

          故事還沒結(jié)算

          就算使用!=,在本地測試和測試環(huán)境,也都沒問題!


          自己本地測試,用戶數(shù)量就幾十個(gè),測試環(huán)境也估計(jì)只有幾十個(gè),但是線上就不止幾十個(gè)了,于是就這個(gè)bug就順利暴露出來了!

          最后,其實(shí)測試的小伙伴這會(huì)也要跟著背鍋!

          請(qǐng)看下面這段代碼,將輸出什么結(jié)果?

          public?class?Test?{
          ????public?static?void?main(String[]?args)?{
          ????????Integer?aa=100;
          ????????Integer?bb=100;
          ????????System.out.println(aa==bb);
          ????????Integer?cc=128;
          ????????Integer?dd=128;
          ????????System.out.println(cc==dd);
          ????????Integer?ee=129;
          ????????Integer?ff=129;
          ????????System.out.println(ee==ff);
          ????}
          }

          這又聊到了Integer的知識(shí)盲區(qū),因?yàn)镮nteger對(duì)-128~127做了緩存。


          關(guān)于Integer的相關(guān)內(nèi)容,之前已跟大家分享給了。

          吊打面試官系列:說說Integer緩存范圍

          于是,上面的那段代碼輸出如下:

          true
          false
          false

          后記

          我們?cè)趯?duì)象比較的時(shí)候,一定記得使用equals來比較(有點(diǎn)開發(fā)經(jīng)驗(yàn)的朋友都知道),但剛出道的朋友犯著錯(cuò)也是可以理解的,也希望還不太清楚的朋友,往后別再給自己挖類似的坑了。

          吃一塹長一智!

          也希望這位朋友也別灰心,抽時(shí)間多補(bǔ)補(bǔ)基礎(chǔ)。?

          39歲阿里P9失業(yè)了,總資產(chǎn)1.5億


          100行代碼透徹解析RPC原理


          西安一碼通到底是通過后端下發(fā)圖片的嗎?新笑話:CPU轉(zhuǎn)速過高導(dǎo)致內(nèi)存溢出?


          關(guān)注公眾號(hào)【Java技術(shù)江湖】后回復(fù)“PDF”即可領(lǐng)取200+頁的《Java工程師面試指南》

          強(qiáng)烈推薦,幾乎涵蓋所有Java工程師必知必會(huì)的知識(shí)點(diǎn),不管是復(fù)習(xí)還是面試,都很實(shí)用。



          瀏覽 35
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人自拍偷拍视频 | 国产豆花成人免费视频 | 美女做爱视频网站 | 天天躁日日躁狠狠 | 黄色在线观看免费 |