1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        牛批!竟有如此優(yōu)雅的代碼。。

        共 1744字,需瀏覽 4分鐘

         ·

        2020-11-20 22:36

        01

        世上竟有如此優(yōu)雅的代碼!


        魚(yú)小皮

        哥,我好難過(guò)。

        怎么肥四?

        老百



        魚(yú)小皮

        這不是剛換了一家實(shí)習(xí)公司么,這家公司要求每次提交代碼都要其他同事來(lái)審核。

        哦,你說(shuō)的是 CR(code review 代碼審查)呀,一般新人的代碼都會(huì)讓老員工看一看,保證沒(méi)問(wèn)題才能發(fā)布。




        老百



        魚(yú)小皮

        對(duì),但是我發(fā)現(xiàn)同事們都不愛(ài)看我的代碼,導(dǎo)致我的代碼一直無(wú)法發(fā)布。

        還有這種事?我來(lái)看看你的代碼。

        老百




        小皮呀,我知道為什么他們不想看你的代碼了,你有問(wèn)題!

        老百

        魚(yú)小皮

        我不對(duì)勁?

        來(lái)來(lái)來(lái),你看看,這特喵寫的都是啥???

        老百


        代碼鑒賞大會(huì)

        01 小東西長(zhǎng)得真別致

        代碼如下:


        public?static?void?main(String??args[])?
        ??
        {
        ?if?(?1==?1)?{
        ???System.out.println(????"我好帥");
        ?????}?else?
        ?{
        System.out.println("我不帥"??);
        ?}?System.out.println(?"hello?world"??);}


        魚(yú)小皮

        這是我在公司寫的的第一段代碼,有啥問(wèn)題?

        第一次能寫出這樣的代碼真是太強(qiáng)了,你看看,這代碼格式錯(cuò)落有致、風(fēng)格迥異,邏輯還有毛病,應(yīng)該把 “我好帥” 改成 “小東西長(zhǎng)得真別致”。




        老百


        02 飛機(jī)場(chǎng)

        代碼如下:


        public?class?ilovecodeandplayandsleep()?{
        ??final?int?howmanyhourscanisleep?=?24;
        }


        魚(yú)小皮

        這段代碼怎么了,是我英文單詞拼錯(cuò)了么?

        你的英語(yǔ)很好,但是這么平平平平平平平平平平平的代碼我還是第一次見(jiàn),你鍵盤上的大寫鍵壞掉了么?



        老百


        03 創(chuàng) 作 鬼 才

        代碼如下:


        public?class?To?2Simple?{
        ??int?user年齡;
        ??String?user資產(chǎn);
        ??String?user的?;
        }


        魚(yú)小皮

        這段代碼運(yùn)行的老好了,沒(méi)毛病吧?

        小皮,你 真 是 創(chuàng) 作 鬼 才!變量名帶上中文就算了,還能加表情?

        老百


        04?大碗寬面

        代碼如下:


        public?class?Noodle?{
        ??private?static?final?String?description?=?"xxxxxxx"?+?1/1?+?"yyyyyy"?+?2/2?+?"zzzzzz"?+?"zzzzzz"?+?"zzzzzzz"?+?String.format("%s?%s?%s?%s?%s?%s?%s?%s",?"1",?"2",?"3",?"4",?"5",?"6",?"7",?"8")?+?"goodgoodgood"?+?"hhhhhhhhhhhhhhhhhhhhh233333333333";
        }


        魚(yú)小皮

        這行代碼沒(méi)毛病啊,就是定義一個(gè)字符串變量而已。

        小皮,你的換行鍵是不是也壞了?你看這行代碼它又長(zhǎng)又寬~

        老百


        05 撒哈拉沙漠

        代碼如下:


        protected?final?boolean?tryAcquire(int?acquires)?{
        ????return?nonfairTryAcquire(acquires);
        }
        final?boolean?nonfairTryAcquire(int?acquires)?{
        ????final?Thread?current?=?Thread.currentThread();
        ????int?c?=?getState();
        ????if?(c?==?0)?{
        ????????if?(compareAndSetState(0,?acquires))?{
        ????????????setExclusiveOwnerThread(current);
        ????????????return?true;
        ????????}
        ????}
        ????else?if?(current?==?getExclusiveOwnerThread())?{?
        ????????int?nextc?=?c?+?acquires;
        ????????if?(nextc?0)?
        ????????????throw?new?Error("Maximum?lock?count?exceeded");
        ????????setState(nextc);
        ????????return?true;
        ????}
        ????return?false;
        }


        魚(yú)小皮

        這段代碼怎么了?花了好久寫出來(lái)的干貨??!

        是挺干,簡(jiǎn)直比撒哈拉沙漠還干。加上一行注釋有這么難么?

        老百


        06 珠穆朗瑪峰

        代碼如下:


        public?static?void?main(String[]?args)?{
        ??int?a?=?1;
        ??a++;
        ??a++;
        ????a++;
        ??a++;
        ??a++;
        ??a++;
        ??a++;
        ??a++;
        ??a++;
        ??a++;a++;a++;
        ??a++;
        ??a++;
        ??a++;
        ??a++;a++;a++;
        ??a++;a++;a++;a++;
        ??a++;a++;a++;a++;
        ??a++;a++;a++;a++;a++;
        ??a++;
        ??a++;a++;a++;
        ??a++;a++;a++;a++;
        ??a++;a++;a++;
        ??a++;a++;a++;
        ??a++;a++;a++;a++;
        ??a++;a++;a++;a++;
        ??a++;a++;a++;
        ??a++;a++;
        ??a++;a++;
        ??a++;a++;a++;a++;a++;
        ??a++;a++;a++;
        ??a++;a++;a++;a++;
        ??a++;a++;a++;a++;
        ??a++;a++;a++;a++;a++;
        ??a++;a++;a++;a++;a++;a++;
        ??a++;a++;a++;a++;
        ??a++;a++;a++;
        ??a++;a++;a++;
        ??a++;a++;a++;
        ??a++;a++;a++;a++;
        ??a++;a++;a++;
        ??a++;a++;a++;
        ??...?省去?10000?行
        }


        你是要攀登珠穆朗瑪峰么?一個(gè)文件里寫那么多行代碼?


        老百

        魚(yú)小皮

        這段程序邏輯太復(fù)雜,沒(méi)辦法嘛。


        07 復(fù)讀機(jī)

        代碼如下:


        public?static?void?main()?{
        ??int?a?=?1;
        ??if?(a?==?1)?{
        ????System.out.println("我很帥");
        ????System.out.println("我很帥呀");
        ????a++;
        ??}?else?if?(a?==?2)?{
        ????System.out.println("我很帥");
        ????System.out.println("我很帥呀");
        ????a++;
        ??}?else?(a?==?3)?{
        ????System.out.println("我很帥");
        ????System.out.println("我很帥呀");
        ????a++;
        ??}
        }


        你這重復(fù)代碼也太多了吧!要把相同代碼抽成獨(dú)立的函數(shù)。圖一時(shí)方便,以后改代碼累死你。人類的本質(zhì)就是復(fù)讀機(jī)?



        老百

        魚(yú)小皮

        阿巴阿巴阿巴。


        08?重慶立交橋

        代碼如下:


        public?static?void?main()?{
        ??int?a?=?0;
        ??int?b?=?0;
        ??int?c?=?0;
        ??if?(a?==?1)?{
        ????if?(b?==?2)?{
        ??????if?(c?==?3)?{
        ????????if?(a?==?2)?{
        ??????????...
        ????????}
        ??????}?else?if?(c?==?2)?{
        ????????...
        ??????}
        ????}
        ??}?else?if?(a?==?2)?{
        ????if?(b?==?2)?{
        ??????if?(c?==?1)?{
        ????????...
        ??????}?else?if?(c?==?2)?{
        ????????...
        ??????}
        ????}
        ??}?else?if?(a?==?3)?{
        ????...
        ??}?else?if?(a?==?4)?{
        ????...
        ??}
        }


        小皮,你見(jiàn)過(guò)重慶立交橋么?

        老百


        重慶號(hào)稱最容易“迷路”的城市。



        重慶旅游的游客們來(lái)自五湖四海,很多朋友旅游之前都做足了功課,但是一旦來(lái)到重慶就懵逼了。因?yàn)橐郎蕉ǖ牡匦?,使得重慶的道路變得異常復(fù)雜,滿城都是各種高架立交橋,并且重慶的立交橋和我們平時(shí)理解的立交橋不太一樣,重慶的立交橋上,有三四層道路,而且每一層道路到達(dá)的地方都不一樣,如果不小心錯(cuò)過(guò)了一個(gè)路口,沒(méi)有個(gè)兩個(gè)小時(shí)是找不到原來(lái)的路的。




        魚(yú)小皮

        原來(lái)我的代碼這么爛啊,怪不得大家都不愿意看。要怎么樣才能寫出讓別人看得舒服的代碼呢?

        想要寫出優(yōu)雅的代碼,首先要學(xué)習(xí)下代碼規(guī)范。

        老百

        魚(yú)小皮

        啥是代碼規(guī)范?寫個(gè)代碼還要規(guī)范?

        當(dāng)然,無(wú)規(guī)矩不成方圓。

        老百


        什么是代碼規(guī)范?

        代碼規(guī)范是人為規(guī)定的對(duì)代碼風(fēng)格、命名、注釋的統(tǒng)一要求。通常在項(xiàng)目啟動(dòng)開(kāi)發(fā)前,都要為團(tuán)隊(duì)制定一套代碼規(guī)范,比如代碼統(tǒng)一縮進(jìn)兩格、使用駝峰式命名、必須在每個(gè)文件開(kāi)頭添加作者和創(chuàng)建日期注釋等。


        魚(yú)小皮

        聽(tīng)起來(lái)好麻煩,這樣我寫代碼不就要慢死了?

        你呀,還是太年輕。代碼規(guī)范在團(tuán)隊(duì)項(xiàng)目開(kāi)發(fā)中至關(guān)重要!


        老百


        代碼規(guī)范的作用

        遵守代碼規(guī)范能為團(tuán)隊(duì)帶來(lái)很多好處,比如:


        1. 統(tǒng)一的代碼風(fēng)格能夠提升團(tuán)隊(duì)成員閱讀代碼的效率。


        2. 統(tǒng)一規(guī)范有助于合作開(kāi)發(fā)和交接代碼,提升團(tuán)隊(duì)的氛圍。


        3. 每個(gè)人都有不同的編碼習(xí)慣,比較霸道的人可能因?yàn)榭床粦T其他人的代碼而直接上手修改,會(huì)產(chǎn)生很多沒(méi)有意義的代碼變更,有時(shí)甚至?xí)绊戫?xiàng)目的運(yùn)行(比如名稱改錯(cuò)了)。而統(tǒng)一規(guī)范大大消除了這種隱患。


        4. 有利于代碼的維護(hù),提升團(tuán)隊(duì)和項(xiàng)目的穩(wěn)定性。



        魚(yú)小皮

        那我自己一個(gè)人寫代碼,不就可以為所欲為了?

        當(dāng)然不行!如果不遵循代碼規(guī)范,隨意命名、不寫注釋,那么很快你就讀不懂自己之前寫的代碼了(程序員都覺(jué)得自己從前寫的代碼是辣雞,不是么)。遵循代碼規(guī)范不僅為了團(tuán)隊(duì),也為了幫助我們養(yǎng)成好習(xí)慣,成為更專業(yè)的軟件工程師!







        老百

        魚(yú)小皮

        百哥,你這餅畫(huà)的真好,那我應(yīng)該怎么學(xué)習(xí)代碼規(guī)范呢?

        不同的團(tuán)隊(duì),代碼規(guī)范也不同。但是有些知名公司制定的代碼規(guī)范,非常優(yōu)秀和專業(yè),被很多公司和程序員學(xué)習(xí)、參考及使用。



        老百


        優(yōu)秀的代碼規(guī)范

        人數(shù)越多、項(xiàng)目越大的團(tuán)隊(duì),其代碼規(guī)范往往更加優(yōu)秀,更經(jīng)得起考驗(yàn),具有更大的參考和學(xué)習(xí)價(jià)值。


        比如 Java 語(yǔ)言的代碼規(guī)范可以參考谷歌的 google-java-style 和阿里的 Java 開(kāi)發(fā)手冊(cè)。


        《阿里巴巴 Java 開(kāi)發(fā)手冊(cè)》


        《阿里巴巴 Java 開(kāi)發(fā)手冊(cè)》不僅制定了 Java 編程的規(guī)約,還有異常日志規(guī)約、MySQL 規(guī)約、工程規(guī)約,非常地全面,推薦學(xué)習(xí) Java 的同學(xué)閱讀和使用。


        關(guān)注公眾號(hào)Java技術(shù)棧回復(fù)手冊(cè)獲取最新高清完整版。


        魚(yú)小皮

        爽死了,我這就去學(xué)習(xí)代碼規(guī)范,以后讓同事愛(ài)上看我的代碼!

        想多了,沒(méi)有程序員喜歡看代碼。

        老百


        關(guān)注公眾號(hào)Java技術(shù)?;貜?fù):GG規(guī)范,可以閱讀中文版谷歌 Java 代碼規(guī)范哦~?


        喜歡本文的話,歡迎分享給身邊的同學(xué) ??


        告別辣雞代碼,從我做起!







        關(guān)注Java技術(shù)??锤喔韶?/strong>



        戳原文,獲取精選面試題!
        瀏覽 45
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

          <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            精品青青草 | 操色逼网站 | gogo人体少妇上爽下爽 | 国产女厕一区二区三区在线视 | 大乳护士喂奶三级hd | 欧洲亚洲精品A片久久99动漫 | 巴西2一3sex性hd | 成人性生交大片免费看黄103 | AV毛片| 中文字幕第666 页 |