<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>

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

          共 1744字,需瀏覽 4分鐘

           ·

          2020-11-20 22:36

          01

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


          魚小皮

          哥,我好難過。

          怎么肥四?

          老百



          魚小皮

          這不是剛換了一家實習公司么,這家公司要求每次提交代碼都要其他同事來審核。

          哦,你說的是 CR(code review 代碼審查)呀,一般新人的代碼都會讓老員工看一看,保證沒問題才能發(fā)布。




          老百



          魚小皮

          對,但是我發(fā)現同事們都不愛看我的代碼,導致我的代碼一直無法發(fā)布。

          還有這種事?我來看看你的代碼。

          老百




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

          老百

          魚小皮

          我不對勁?

          來來來,你看看,這特喵寫的都是啥啊?

          老百


          代碼鑒賞大會

          01 小東西長得真別致

          代碼如下:


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


          魚小皮

          這是我在公司寫的的第一段代碼,有啥問題?

          第一次能寫出這樣的代碼真是太強了,你看看,這代碼格式錯落有致、風格迥異,邏輯還有毛病,應該把 “我好帥” 改成 “小東西長得真別致”。




          老百


          02 飛機場

          代碼如下:


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


          魚小皮

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

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



          老百


          03 創(chuàng) 作 鬼 才

          代碼如下:


          public?class?To?2Simple?{
          ??int?user年齡;
          ??String?user資產;
          ??String?user的?;
          }


          魚小皮

          這段代碼運行的老好了,沒毛病吧?

          小皮,你 真 是 創(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";
          }


          魚小皮

          這行代碼沒毛病啊,就是定義一個字符串變量而已。

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

          老百


          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;
          }


          魚小皮

          這段代碼怎么了?花了好久寫出來的干貨啊!

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

          老百


          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?行
          }


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


          老百

          魚小皮

          這段程序邏輯太復雜,沒辦法嘛。


          07 復讀機

          代碼如下:


          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++;
          ??}
          }


          你這重復代碼也太多了吧!要把相同代碼抽成獨立的函數。圖一時方便,以后改代碼累死你。人類的本質就是復讀機?



          老百

          魚小皮

          阿巴阿巴阿巴。


          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)?{
          ????...
          ??}
          }


          小皮,你見過重慶立交橋么?

          老百


          重慶號稱最容易“迷路”的城市。



          重慶旅游的游客們來自五湖四海,很多朋友旅游之前都做足了功課,但是一旦來到重慶就懵逼了。因為依山而建的地形,使得重慶的道路變得異常復雜,滿城都是各種高架立交橋,并且重慶的立交橋和我們平時理解的立交橋不太一樣,重慶的立交橋上,有三四層道路,而且每一層道路到達的地方都不一樣,如果不小心錯過了一個路口,沒有個兩個小時是找不到原來的路的。




          魚小皮

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

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

          老百

          魚小皮

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

          當然,無規(guī)矩不成方圓。

          老百


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

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


          魚小皮

          聽起來好麻煩,這樣我寫代碼不就要慢死了?

          你呀,還是太年輕。代碼規(guī)范在團隊項目開發(fā)中至關重要!


          老百


          代碼規(guī)范的作用

          遵守代碼規(guī)范能為團隊帶來很多好處,比如:


          1. 統一的代碼風格能夠提升團隊成員閱讀代碼的效率。


          2. 統一規(guī)范有助于合作開發(fā)和交接代碼,提升團隊的氛圍。


          3. 每個人都有不同的編碼習慣,比較霸道的人可能因為看不慣其他人的代碼而直接上手修改,會產生很多沒有意義的代碼變更,有時甚至會影響項目的運行(比如名稱改錯了)。而統一規(guī)范大大消除了這種隱患。


          4. 有利于代碼的維護,提升團隊和項目的穩(wěn)定性。



          魚小皮

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

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







          老百

          魚小皮

          百哥,你這餅畫的真好,那我應該怎么學習代碼規(guī)范呢?

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



          老百


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

          人數越多、項目越大的團隊,其代碼規(guī)范往往更加優(yōu)秀,更經得起考驗,具有更大的參考和學習價值。


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


          《阿里巴巴 Java 開發(fā)手冊》


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


          關注公眾號Java技術棧回復手冊獲取最新高清完整版


          魚小皮

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

          想多了,沒有程序員喜歡看代碼。

          老百


          關注公眾號Java技術棧回復:GG規(guī)范,可以閱讀中文版谷歌 Java 代碼規(guī)范哦~?


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


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







          關注Java技術棧看更多干貨



          戳原文,獲取精選面試題!
          瀏覽 45
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  日韩欧美手机在线观看 | 女人天天干免费视频 | 18日本XXXXXXXXX96-百度 | 青青草网站在线观看 | 可以免费看的黄色视频 |