欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何寫出好的代碼

本篇內(nèi)容介紹了“如何寫出好的代碼”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

“專業(yè)、務實、高效、創(chuàng)新、把客戶的事當成自己的事”是我們每一個人一直以來堅持追求的企業(yè)文化。 創(chuàng)新互聯(lián)公司是您可以信賴的網(wǎng)站建設服務商、專業(yè)的互聯(lián)網(wǎng)服務提供商! 專注于做網(wǎng)站、網(wǎng)站制作、軟件開發(fā)、設計服務業(yè)務。我們始終堅持以客戶需求為導向,結(jié)合用戶體驗與視覺傳達,提供有針對性的項目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場,引領市場!

寫好注釋

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

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

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

圖片

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

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

 /**    * 進行 XX 操作時調(diào)用此方法,用來向數(shù)據(jù)庫插入數(shù)據(jù)    * @param saveModel 要插入的數(shù)據(jù)    * @return 是否保存成功    *     * @author a'fen    * @date 2020-10-17 23:50:45    */   public Boolean isSaveSuccess(SaveModel saveModel) {       /*           整體思路:               1 接收傳入的所有 id/name 的信息               2 插入相關信息                   2.1 XX 信息插入成功之后,再去 YY 表進行相關信息插入               3 對 YY 表進行插入時,先判斷是否有相關信息,如果有則進行更新,如果沒有則直接插入               4 是否添加 AA ,如果業(yè)務上配置了 AA ,則需要將相關內(nèi)容更新到 ZZ 表中                   注: 在 BB 界面點擊下一步時,已經(jīng)將相關信息插入到了 ZZ 表中                           所以在這里只做更新即可        */    // 1 接收傳入的所有 id/name 的信息  // 創(chuàng)建 xxList 用來接收所有的 id/name 的信息  List<XXModel> xxList = new ArrayList<>();  // 對傳入的信息按照 id 進行排序,方便接下來的操作  saveModel.getIdList().stream.collect(Collectors.groupingBy(SaveModel::getId))               .forEach((String mapKey, List<SaveModel> save) -> {                   xxList.addAll(save);               });    // 2 插入相關信息 // 循環(huán) xxList for (XXModel model : xxList) {  // 向 XX 表插入信息  實現(xiàn)代碼    // 2.1 插入成功,去 YY 表做相關信息插入  實現(xiàn)代碼 }  // 3 對 YY 表進行插入時,先判斷是否有相關信息,如果有則進行更新,如果沒有則直接插入 實現(xiàn)代碼  // 4 是否添加 AA ,如果業(yè)務上配置了 AA ,則需要將相關內(nèi)容更新到 ZZ 表中 實現(xiàn)代碼   }

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

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

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

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

然后排查問題排查到最后,發(fā)現(xiàn)是阿粉造成的,而且還是因為一個數(shù)據(jù)類型引發(fā)的...阿粉當時真的是想鉆到地下

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

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

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

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

public static void sleep(long millis, int nanos)   throws InterruptedException {       if (millis < 0) {           throw new IllegalArgumentException("timeout value is negative");       }        if (nanos < 0 || nanos > 999999) {           throw new IllegalArgumentException(                               "nanosecond timeout value out of range");       }        if (nanos >= 500000 || (nanos != 0 && millis == 0)) {           millis++;       }        sleep(millis);   }

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

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

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

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

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

“如何寫出好的代碼”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

網(wǎng)頁標題:如何寫出好的代碼
URL網(wǎng)址:http://chinadenli.net/article20/jgjgjo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站電子商務手機網(wǎng)站建設標簽優(yōu)化移動網(wǎng)站建設網(wǎng)頁設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化