日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

让你编程能力秃飞猛进的好习惯

發布時間:2025/3/15 编程问答 11 豆豆
生活随笔 收集整理的這篇文章主要介紹了 让你编程能力秃飞猛进的好习惯 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

分享自己寫代碼時的好習慣,讓你的編程能力突飛猛進!

大家好,我是魚皮,上回說到,很多同學在學編程時不注重代碼質量,養成壞習慣的同時,失去了提升自己編程能力的機會。

還沒讀上篇文章的同學,請先閱讀:勞資的代碼會有問題 ?!

在文末我拋出了問題:

如何有意提升自己的代碼質量呢?我根本就發現不了自己代碼中的問題,以為已經寫得很棒棒了,怎么辦?

要解決這個問題其實非常簡單,既然自己經驗不足、或者是 “只緣身在此山中”,看不出來代碼哪里寫的不好,那就找其他朋友或有經驗的程序員幫你看看代碼,給出一些意見。

雖然每個正常的程序員都無法忍受自己寫的代碼被人說是辣雞,但是虛心接受指正,并加以修改,的確能大大加深我們的印象,下次寫代碼時就會注意了。慢慢地,就養成了好習慣,不僅注重自己的代碼質量,還會 “繼承傳統”,開始說別人寫的代碼辣雞,從而幫助更多人改進。

但有一個很殘酷的現實,誰這么好心幫我看代碼呢?

我大學期間,雖然做過很多項目,寫過很多代碼,但是自己的代碼基本都只給自己看。即使把大作業的代碼交給老師,他們也根本不看代碼,只看運行效果的,這也是上次提到的為什么大家越來越不注重代碼質量的原因之一。而且實不相瞞,我也曾經求學長幫我看代碼,但換位思考一下,如果不是和你關系非常好,誰閑的蛋疼免費去幫你看你寫的辣雞代碼?

求人不得,只能求己。

一種方式就是把自己開發好的作品上線,讓用戶來使用它,從而幫你發現一些自己沒注意到的 Bug 或功能問題,驅使你去仔細閱讀和改進代碼。還可以把自己的代碼公開到 GitHub 等代碼托管平臺,允許其他同學閱讀和指出問題。但是,這種方式過于硬核,前期需要耗費大量精力去做推廣,否則根本沒人用你的項目,也沒人去看你的 GitHub!

比如我的 編程導航 項目已經開源 4 個多月了,文檔編寫非常用心,也做過一點推廣,才收獲了 600+ star,確實是很不容易。

這幾天我又大大地優化了下文檔,并且將后端的代碼也開源了!如果大家對前端、React、后端、Java、Spring Boot、騰訊云開發、公眾號開發、文檔站點生成等感興趣,都歡迎大家的關注~

地址: https://github.com/liyupi/code-nav

(也可以點擊文章下方閱讀原文直達)

回歸正題,硬核的方式咱玩不了,那我就教大家人人都能輕松學會的一招,也是我自己一直堅持的編程習慣。

下面一起來看看我寫代碼時的 小倔強 吧,有效提高你的代碼質量,編程能力突飛猛進!

我的編程習慣

就像之前說的,我們之所以發現不了代碼中的問題,很大程度上是因為我們的編程態度是 “樂觀” 的,相信視頻教程、相信書本、相信編輯器,只要沒報錯,那就是對的。

但我寫代碼時,非常地 “悲觀” 且倔強,我會細致入微地把自己寫過的每一行代碼都看作是病人,堅持認為他們是有問題的,甚至可以說是從雞蛋里挑骨頭!

有同學說了,你特么不就是在說廢話么,這不就是仔細檢查代碼?或者說是防御性編程?

啥是防御性編程,可以看我的這篇文章:揭秘軟件開發的達摩克利斯之劍

先別急,這和防御性編程可不一樣,我有多倔,舉個栗子你就明白了,下面請跟上我的思路~

我有多倔?

假如我寫了這樣一端前端代碼,作用是獲取某條狗的名字:

// 默認狗名 let name = '無名狗'; // 狗、狗信息、狗名稱都存在 if (dog && dog.info && dog.info.name) {name = dog.info.name; }

你覺得這段代碼有問題么?

如果你覺得沒有問題,那么很好,你很樂觀。

無所謂了,我才不要你覺得,我很倔,我就偏偏覺得這段代碼有問題,沒問題我也得挑挑問題

嗯,代碼邏輯好像沒毛病,那硬要說有問題的話,代碼量是不是有點多?

比如在獲取狗名時,為了防止報錯,要先判斷狗是否存在,再判斷狗的信息是否存在,最后才能取到狗名,好啰嗦啊。如果還要獲取一堆其他的信息,這代碼簡直沒法看了。

所以,我就開始思考,如何讓這段代碼更加精簡,有沒有更好的寫法呢?

通過百度,我發現了一個牛逼的玩意兒,叫 可選鏈操作符( ?. ),允許讀取對象深處的屬性值,而不必明確驗證鏈中的每個引用是否有效;在引用為空的情況下不會引起錯誤,會自動短路返回值。

于是,代碼變成了這樣:

// 默認狗名 let name = '無名狗'; // 狗、狗信息、狗名稱都存在 if (dog?.info?.name) {name = dog.info.name; }

已經比剛剛簡化了不少,但我不滿足,獲取個狗名竟然要寫 4 行代碼?這肯定有問題啊!能不能再簡化一下呢?

思考了一下,這次我憑著自己賊硬的基礎知識儲備,沒有百度就想出了更精簡的寫法,使用 JavaScript 的三元運算符就行了,代碼如下:

let name = dog?.info?.name ? dog.info.name : '無名氏';

怎么樣,一行代碼搞定!

下面給大家個機會,代碼寫成這樣還有問題不?或者說,你看這行代碼覺得舒服么?

反正我覺得不太行,我魚某偏要從雞蛋里挑骨頭!

仔細看,我們發現 dog、info、name 這三個單詞都重復出現了兩遍,那有什么辦法再精簡一下呢?

再次打開搜索引擎,這次搜了半天都沒找到優化的方法,那我干脆就去搜了 “JavaScript 小技巧”、“JavaScript 高級寫法” 等關鍵詞,終于找到了答案。

空值合并操作符( ?? ),當左側的操作數為 null 或者 undefined 時,返回其右側操作數,否則返回左側操作數。

最終,代碼縮成了這樣:

let name = dog?.info?.name ?? '無名狗';

舒服多了吧!

這就是我寫代碼時的倔強,通過這次挑問題,起碼幫助我學到了兩個 JavaScript 操作符的用法,爽死了!

值得么?

那有同學說了:像你這樣寫代碼,不累么?這么認真地去摳代碼的細節,不會很花時間么?

小了,格局小了。

從這一次寫代碼來看,的確我花了更多的時間,代碼能跑就行了,管那么多別的干啥呢?但從長遠來看,這是學習的必經之路,通過自己思考去發現問題、解決問題,學到的知識可以說是深深地刻在了腦海里,以后再寫類似的代碼時,就能更輕松、規范和高效,省下的時間是無限的!

當然,摳細節也要看情況,如果你要開發的東西很緊急,肯定還是先以完成功能為主。但等后面有空了,一定要記得優化一下,否則你也算是為代碼 “屎山” 貢獻了自己的一份力量。

悲觀編程還有什么其他的好處呢?

樂觀編程時,我們往往是被動地發現問題,以為代碼跑的很順利,但卻往往被別人來提 Bug,再被迫修改,心態會越來越差。

而悲觀編程時,我們是自己主動找問題,主動去優化代碼。當你通過思考、搜索和實踐,將原本很復雜的代碼化繁為簡后,你會驚喜地發現:我去,原來代碼還可以這樣寫!牛逼牛逼!

然后,你就會收獲成就感,繼續堅持這種習慣,不斷進步。

這讓我不禁想起了拼多多,早期沒有給用戶很高的預期,讓他們覺得這是個多牛逼的產品。而是主動降低用戶的預期,讓大家都覺得這是個土味兒產品,后來再一次次地超出預期,最終走向成功。

找不到問題?

看到這里,大家應該理解我寫代碼時的倔強了。但一定會有同學表示,我沒有這種敏銳的直覺,看不出自己代碼中的問題咋辦呢?

我自己有一些經驗方法,大家可以嘗試一下:

  • 當你覺得有段代碼寫起來很麻煩時,多半有問題,不妨去搜索下有沒有現成的組件,或者別人是怎么實現的。

  • 當你重復寫某段代碼時,一定有問題,不妨把它抽象成函數或組件、或者用設計模式來優化。

  • 當某段代碼中寫了大量的 If Else 時,一定有問題,試著重新梳理邏輯,減少條件和分支。

  • 多關注開發工具的報黃和報紅提示,通常能得到很多好的優化建議,盡早發現問題。

  • 再給大家一道練習題,上面舉的栗子是前端的,這次就舉個 Java 的吧。

    目標是獲得所有狗的名字列表,老弟小阿巴寫的代碼如下:

    // 獲得所有狗的名字列表 List<Dog> dogList = new ArrayList<>(); List<String> dogNameList = new ArrayList<>(); if (dogList != null && dogList.size() > 0) {for (int i = 0; i < dogList.size(); i++) {Dog dog = dogList.get(i);if (dog != null) {dogNameList.add(dog.getName());}} } return dogNameList;

    這段代碼有問題么?如何優化呢?大家快來試試吧~

    小提示,一行代碼就可以實現同樣的功能!歡迎在評論區交流。


    好了以上就是本期分享,有幫助的話求個 ,希望讓更多人學到。

    我是魚皮,原創不易,如果覺得文章還不錯的話,希望朋友們 點贊 支持下,給俺點創作動力。

    最近還在開發我的 編程導航( https://www.code-nav.cn ),一個幫大家找編程資源的項目,歡迎使用!

    我是如何在大學期間通過自學,拿到騰訊、字節等大廠 offer 的,可以看這篇文章,不再迷茫!

    我學計算機的四年,共勉!( https://t.1yb.co/q0mS )

    總結

    以上是生活随笔為你收集整理的让你编程能力秃飞猛进的好习惯的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 大白屁股一区二区视频 | 少妇免费毛片久久久久久久久 | 九九热这里有精品视频 | 538国产精品一区二区免费视频 | 在线免费看黄视频 | 亚洲精品国产精品国自产观看 | 日韩电影三级 | 麻豆免费观看视频 | 国产无遮挡呻吟娇喘视频 | 调教一区二区三区 | 国产精品主播一区二区 | 国产视频最新 | 欧美老肥妇做.爰bbww视频 | 国产黄色免费观看 | 欧亚毛片 | 国产在线拍 | 欧美日韩不卡在线 | 欧美日韩免费观看视频 | 国产九一精品 | 国产精品91一区二区 | 调教撅屁股啪调教打臀缝av | 亚洲天堂一区二区三区 | 国产精品刺激 | 免费成人高清视频 | 国产56页| 欧美h视频在线观看 | 国产成人精品久久二区二区 | 成人免费性视频 | 国产在线色 | 九九色精品 | 亚洲精品午夜 | 亚洲成年人在线 | 国产乱xxⅹxx国语对白 | 麻豆婷婷 | 久久精品噜噜噜成人 | 操bbbbb | 国产精品日韩专区 | 黄色小视频免费观看 | 不卡的中文字幕 | 国产精品国产三级国产专区51区 | 91日韩| 一本到av| 黄页网站在线看 | 亚洲欧美一区二区三区情侣bbw | 日韩最新在线 | 久久久国际精品 | 国产乱妇无码大片在线观看 | 涩涩片影院 | 密臀av在线| 亚洲激情视频网 | 九九热色 | 宇都宫紫苑在线播放 | 91爱视频| 波多野结衣一区二 | 午夜宅男网 | 影音先锋国产资源 | 国产精品成av人在线视午夜片 | 欧美狠狠干 | www一级片 | aaa一级黄色片 | 久久综合激的五月天 | 中文字幕一二三区 | gav成人| 免费的a级片 | 你懂的在线观看网站 | 久久综合激的五月天 | 中文字幕高清在线播放 | 欧美高清 | 在线看三级 | 欧美黄色小说视频 | 日韩综合网 | 日韩欧美综合一区 | 久久亚洲精少妇毛片午夜无码 | 中文在线播放 | 国产69熟| 色先锋影院 | 黄色aa大片| 黄色录像毛片 | 欧美在线一区二区视频 | av综合久久 | 黄色av片三级三级三级免费看 | 中午字幕在线观看 | 日本电影一区二区三区 | 色先锋资源网 | 午夜网站在线观看 | 亚洲美女毛片 | 精品成人无码久久久久久 | 亚州中文 | 亚洲色图偷拍视频 | 国产噜噜噜噜噜久久久久久久久 | 尤物193.com | 婷婷综合网站 | 别揉我奶头一区二区三区 | 国产一区二区久久 | 日韩欧美在线一区 | 大陆明星乱淫(高h)小说 | 综合亚洲色图 | 国产一区黄 | 手机在线看片福利 |