成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

團隊里的妹子讓阿粉跟她說說怎樣寫出好的代碼

開發 前端
代碼是寫給人看的,不是寫給機器看的。你想嘛,如果想要讓機器看,直接寫 0110001 這種編碼方式不香嗎!畢竟機器它只認 0 或者 1,所以代碼是寫給人看的,那么寫代碼的時候就讓它干凈整潔一些 。

[[374532]]

本文轉載自微信公眾號「Java極客技術」,作者鴨血粉絲。轉載本文請聯系Java極客技術公眾號。  

 昨天,團隊里的妹子很突然地就讓阿粉跟她說說怎么才能寫出一手好的代碼

阿粉本著負責任的態度,專門寫了一篇文章出來,妹子嘛,就是要寵的嘛

寫好注釋

寫代碼這件事情,大概就是一時編程一時爽,過后調試火葬場

阿粉有過一次經歷,就是當時開發任務緊,把功能實現之后就完事兒了,也沒有好好寫注釋。結果過了兩三個月之后,那個功能因為需求變動出 bug 了,出了 bug 就去解決唄

但是!!!因為阿粉沒有寫注釋,當時的實現邏輯,為什么這樣寫全忘了,所以相當于又重頭捋了一遍邏輯,那個味道,真是酸爽

圖片

所以阿粉要把這個建議放在第一個!

寫注釋的時候,如果邏輯比較復雜,可以先寫一下大體思路,然后下面具體實現時再詳細寫,比如阿粉曾經寫過的代碼(做了脫敏處理,大家不要太較真啦,重點是阿粉寫的注釋

  1.  /** 
  2.    * 進行 XX 操作時調用此方法,用來向數據庫插入數據 
  3.    * @param saveModel 要插入的數據 
  4.    * @return 是否保存成功 
  5.    *  
  6.    * @author a'fen 
  7.    * @date 2020-10-17 23:50:45 
  8.    */ 
  9.   public Boolean isSaveSuccess(SaveModel saveModel) { 
  10.       /* 
  11.           整體思路: 
  12.               1 接收傳入的所有 id/name 的信息 
  13.               2 插入相關信息 
  14.                   2.1 XX 信息插入成功之后,再去 YY 表進行相關信息插入 
  15.               3 對 YY 表進行插入時,先判斷是否有相關信息,如果有則進行更新,如果沒有則直接插入 
  16.               4 是否添加 AA ,如果業務上配置了 AA ,則需要將相關內容更新到 ZZ 表中 
  17.                   注: 在 BB 界面點擊下一步時,已經將相關信息插入到了 ZZ 表中 
  18.                           所以在這里只做更新即可 
  19.        */ 
  20.   
  21.  // 1 接收傳入的所有 id/name 的信息 
  22.  // 創建 xxList 用來接收所有的 id/name 的信息 
  23.  List<XXModel> xxList = new ArrayList<>(); 
  24.  // 對傳入的信息按照 id 進行排序,方便接下來的操作 
  25.  saveModel.getIdList().stream.collect(Collectors.groupingBy(SaveModel::getId)) 
  26.               .forEach((String mapKey, List<SaveModel> save) -> { 
  27.                   xxList.addAll(save); 
  28.               }); 
  29.    
  30. // 2 插入相關信息 
  31. // 循環 xxList 
  32. for (XXModel model : xxList) { 
  33.  // 向 XX 表插入信息 
  34.  實現代碼 
  35.   
  36.  // 2.1 插入成功,去 YY 表做相關信息插入 
  37.  實現代碼 
  38.  
  39. // 3 對 YY 表進行插入時,先判斷是否有相關信息,如果有則進行更新,如果沒有則直接插入 
  40. 實現代碼 
  41.  
  42. // 4 是否添加 AA ,如果業務上配置了 AA ,則需要將相關內容更新到 ZZ 表中 
  43. 實現代碼 
  44.   } 

在寫代碼之前,先想想可能的應用場景

有時候拿到需求之后,如果著急去做,后期可能會耗費不少的精力

阿粉曾經做過一個業務,類似用戶充值的場景,當時阿粉拿到這個需求之后,就想著不就是充值錢嘛,那就定義一個 Integer 類型不就完了,然后一頓操作猛如虎,上線之后也沒啥問題

結果有一次公司運營和其他一些第三方合作,用的就是充值這個接口,然后因為運營大批量的持續充值,直接超出了 Integer 的允許范圍,導致整條業務線都沒辦法跑通

然后排查問題排查到最后,發現是阿粉造成的,而且還是因為一個數據類型引發的...阿粉當時真的是想鉆到地下

代碼是寫給人看的,所以讓自己的代碼干凈整潔一些

代碼是寫給人看的,不是寫給機器看的。你想嘛,如果想要讓機器看,直接寫 0110001 這種編碼方式不香嗎!畢竟機器它只認 0 或者 1

所以代碼是寫給人看的,那么寫代碼的時候就讓它干凈整潔一些

比如:該縮進的縮進,該空一行的就空一行,比如下面這樣:

  1. public static void sleep(long millis, int nanos) 
  2.   throws InterruptedException { 
  3.       if (millis < 0) { 
  4.           throw new IllegalArgumentException("timeout value is negative"); 
  5.       } 
  6.  
  7.       if (nanos < 0 || nanos > 999999) { 
  8.           throw new IllegalArgumentException( 
  9.                               "nanosecond timeout value out of range"); 
  10.       } 
  11.  
  12.       if (nanos >= 500000 || (nanos != 0 && millis == 0)) { 
  13.           millis++; 
  14.       } 
  15.  
  16.       sleep(millis); 
  17.   } 

要縮進有縮進,該空一行就空一行,不用你們夸,我自己都覺得這代碼寫的,真是好!(Thread 源碼誰敢說不好?!

沒事兒就和阿粉多聊聊源碼

其實想要寫一手好的代碼,最重要的就是要多看,自己多寫

看什么呢?阿粉覺得看源碼就夠了。JDK 源碼這么多人都在用,足以說明 JDK 源碼的代碼寫的有多優秀

所以呢,沒事兒就和阿粉多聊聊源碼,沒事兒就約約阿粉去圖書館一起研究研究源碼,平時自己寫代碼的時候,多注意借鑒從源碼中學到的實現思路,學到的編程技巧,日積月累下來肯定能在編程上有一個很好的提升

 

責任編輯:武曉燕 來源: Java極客技術
相關推薦

2021-04-01 16:43:05

代碼可讀性開發

2020-12-15 07:36:12

線程Start Run

2012-05-30 15:58:39

Java編程代碼

2012-09-03 14:34:39

Java編程代碼

2021-09-13 09:35:48

AI 數據人工智能

2013-07-03 10:51:42

DevOpsDevOps團隊DevOps文化

2019-11-05 08:34:33

代碼switch開發

2020-09-02 07:44:13

后端Long前端

2021-05-19 08:55:37

代碼程序員經驗分享

2021-12-22 23:58:16

SQL數據庫語法

2021-12-26 23:06:14

SQL數據庫程序員

2011-06-13 14:05:58

描述標簽

2019-11-07 22:00:22

程序員代碼規范

2011-04-19 17:09:52

代碼編程

2021-08-19 07:34:55

RabbitMQLinuxWindows

2020-10-19 06:47:05

爬蟲數據Jsoup

2020-03-09 10:21:12

Java集合類 Guava

2019-10-31 10:04:54

DevOps開發團隊

2020-04-03 14:55:39

Python 代碼編程

2020-08-06 00:25:38

Python代碼開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕国产一区 | 国产成人在线一区二区 | av中文字幕在线 | 天天爽天天操 | 三级av在线 | 国产精品中文字幕在线播放 | 正在播放国产精品 | 久久久久久亚洲精品 | 99re在线视频 | 亚洲网视频 | 一区二区三区四区在线 | 久久久久久久久久久久91 | 黄色网页在线观看 | 国产精品综合一区二区 | 四虎永久影院 | 99精品一区二区 | 日韩无 | 日本福利片 | 一区二区三区高清在线观看 | 国产精品毛片一区二区在线看 | 国产女人与拘做视频免费 | 黄色网址大全在线观看 | 久久久夜夜夜 | 久久出精品 | 欧美激情视频一区二区三区在线播放 | 男女爱爱网站 | 伊人春色在线观看 | 精品国产乱码久久久久久88av | 日韩视频一区二区在线 | 免费骚视频 | 亚洲 欧美 另类 综合 偷拍 | 国产亚洲精品久久情网 | 久久久免费毛片 | 国产一区二区在线免费 | 天天搞夜夜操 | 看a网站 | 中文字幕爱爱视频 | 天天看天天爽 | av网站在线播放 | 国产精品美女久久久久久免费 | 天天综合成人网 |