国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

編程代碼的書寫規則

Q4MP_gh_c472c21 ? 來源:嵌入式ARM ? 作者:嵌入式ARM ? 2020-11-12 18:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

為大家搜集到編程代碼的書寫規則,小伙伴們千萬要記住這些規則。

如果對現在的工作不滿意,掌握這些技巧也是可以順利離職的小竅門哦~

01 以一種代碼已經被混淆的方式命名變量 如果我們鍵入的東西越少,那么就有越多的時間去思考代碼邏輯等問題。Good

let a = 42;Bad

let age = 42; 02 變量/函數混合命名風格 為不同慶祝一下。Good

let wWidth = 640;let w_height = 480;Bad

let windowWidth = 640;let windowHeight = 480; 03 不要寫注釋 反正沒人會讀你的代碼,看開點:Good

const cdr = 700;Bad 更多時候,評論應該包含一些“為什么”,而不是一些“是什么”。如果“什么”在代碼中不清楚,那么代碼可能太混亂了。

// 700ms的數量是根據UX A/B測試結果進行經驗計算的。// @查看: <詳細解釋700的一個鏈接>const callbackDebounceRate = 700;(向右滑動查看完整代碼) 04 使用母語寫注釋 如果您違反了“無注釋”原則,那么至少嘗試用一種不同于您用來編寫代碼的語言來編寫注釋。如果你的母語是英語,你可能會違反這個原則。Good

// Закрива?мо модальне в?конечко при виникненн? помилки.toggleModal(false);(向右滑動查看完整代碼)Bad

// 隱藏錯誤彈窗toggleModal(false); 05 盡可能混合不同的格式 為不同慶祝一下。Good

let i = ['tomato', 'onion', 'mushrooms'];let d = [ "ketchup", "mayonnaise" ];Bad

let ingredients = ['tomato', 'onion', 'mushrooms'];let dressings = ['ketchup', 'mayonnaise'];

(向右滑動查看完整代碼)

06 盡可能把代碼寫成一行

刪繁就簡三秋樹。

Good

document.location.search.replace(/(^?)/,'').split('&').reduce(function(o,n){n=n.split('=');o[n[0]]=n[1];return o},{})(向右滑動查看完整代碼)Bad

document.location.search .replace(/(^?)/, '') .split('&') .reduce((searchParams, keyValuePair) => { keyValuePair = keyValuePair.split('='); searchParams[keyValuePair[0]] = keyValuePair[1]; return searchParams; }, {})(向右滑動查看完整代碼) 07 不要處理錯誤 無論何時發現錯誤,都沒有必要讓任何人知道它。沒有日志,沒有錯誤彈框。Good

try { // 意料之外的情況。} catch (error) { // tss... }Bad

try { // 意料之外的情況。} catch (error) { setErrorMessage(error.message); // and/or logError(error);} 08 廣泛使用全局變量 全球化的原則。Good

let x = 5; function square() { x = x ** 2;} square(); // 現在x是25Bad

let x = 5; function square(num) { return num ** 2;} x = square(x); // 現在x是25 09 創建你不會使用的變量 以防萬一。Good

function sum(a, b, c) { const timeout = 1300; const result = a + b; return a + b;}Bad

function sum(a, b) { return a + b;} 010 如果語言允許,不要指定類型和/或不執行類型檢查。

Good

function sum(a, b) { return a + b;} // 在這里享受沒有注釋的快樂const guessWhat = sum([], {}); // -> "[object Object]"const guessWhatAgain = sum({}, []); // -> 0(向右滑動查看完整代碼)Bad

function sum(a: number, b: number): ?number { // 當我們在JS中不做置換和/或流類型檢查時,覆蓋這種情況。 if (typeof a !== 'number' && typeof b !== 'number') { return undefined; } return a + b;} // 這個應該在轉換/編譯期間失敗。const guessWhat = sum([], {}); // -> undefined(向右滑動查看完整代碼) 011 你應該有不能到達的代碼 記住:這是你的 "Plan B"。Good

function square(num) { if (typeof num === 'undefined') { return undefined; } else { return num ** 2; } return null; // 這就是我的"Plan B".}(向右滑動查看完整代碼)Bad

function square(num) { if (typeof num === 'undefined') { return undefined; } return num ** 2;}(向右滑動查看完整代碼) 012 三角法則 就像鳥巢,鳥巢,鳥巢。這是藝術。Good

function someFunction() { if (condition1) { if (condition2) { asyncFunction(params, (result) => { if (result) { for (;;) { if (condition3) { } } } }) } }}(向右滑動查看完整代碼)Bad

async function someFunction() { if (!condition1 || !condition2) { return; } const result = await asyncFunction(params); if (!result) { return; } for (;;) { if (condition3) { } }}(向右滑動查看完整代碼) 013 混合縮進 避免縮進,因為它們會使復雜的代碼在編輯器中占用更多的空間。如果你不喜歡回避他們,那就和他們搗亂。Good

const fruits = ['apple', 'orange', 'grape', 'pineapple']; const toppings = ['syrup', 'cream', 'jam', 'chocolate'];const desserts = [];fruits.forEach(fruit => {toppings.forEach(topping => { desserts.push([fruit,topping]); });})(向右滑動查看完整代碼)Bad

const fruits = ['apple', 'orange', 'grape', 'pineapple'];const toppings = ['syrup', 'cream', 'jam', 'chocolate'];const desserts = []; fruits.forEach(fruit => { toppings.forEach(topping => { desserts.push([fruit, topping]); });})(向右滑動查看完整代碼) 014 不要鎖住你的依賴項 以非受控方式更新每個新安裝的依賴項。為什么堅持使用過去的版本,讓我們使用最先進的庫版本。Good

$ ls -la package.jsonBad

$ ls -la package.jsonpackage-lock.json 015 函數長的比短的好 不要把程序邏輯分成可讀的部分。如果IDE的搜索停止,而您無法找到所需的文件或函數,該怎么辦?

一個文件中10000行代碼是OK的。

一個函數體1000行代碼是OK的。

處理許多服務(第三方和內部,也有一些工具、數據庫手寫ORM和jQuery滑塊)在一個' service.js ' ,這是OK的。

016 不要測試你的代碼 這是重復的并且不需要的工作。 017 避免代碼風格統一 編寫你想要的代碼,特別是在一個團隊中有多個開發人員的情況下。 這是一個“自由”的原則。 018 構建新項目不需要 README 文檔 一開始我們就應該保持。 019 保存不必要的代碼 不要刪除不用的代碼,最多是注釋掉。 以上就是全部總結,大家可千萬不要再犯哦。(別打我,網線不夠粗,手伸不過來)

責任編輯:xj

原文標題:這樣寫的代碼,都是垃圾......

文章出處:【微信公眾號:嵌入式ARM】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編程
    +關注

    關注

    90

    文章

    3716

    瀏覽量

    97191
  • 代碼
    +關注

    關注

    30

    文章

    4968

    瀏覽量

    73973
  • 程序員
    +關注

    關注

    4

    文章

    956

    瀏覽量

    30940

原文標題:這樣寫的代碼,都是垃圾......

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    ElfBoard技術貼|借助AI編程,輕松搞定ELF-RK3506開發板上光照傳感器的數據讀取

    特別感謝北京理工大學的李海老師提供以下文章,供大家學習與參考。上一篇文章介紹了在ELF-RK3506開發板上搭建AI編程環境的方法,但測試場景較為簡單,生成的代碼與硬件無關。本文將挑戰不手動編寫代碼
    的頭像 發表于 01-29 16:55 ?1378次閱讀
    ElfBoard技術貼|借助AI<b class='flag-5'>編程</b>,輕松搞定ELF-RK3506開發板上光照傳感器的數據讀取

    如何根據厚聲電阻上的代碼查詢具體阻值?

    根據厚聲電阻上的代碼查詢具體阻值,需結合代碼的標注方法進行識別,常見的標注方法及對應查詢步驟如下: 一、三位數字標注法(常規精度電阻) 規則:前兩位為有效數字,第三位表示10的冪次(零的個數),單位
    的頭像 發表于 12-30 15:23 ?589次閱讀
    如何根據厚聲電阻上的<b class='flag-5'>代碼</b>查詢具體阻值?

    編程序段的定義介紹

    ; END偽指令標志整個程序的結束。END語句下面書寫的任何代碼都不會被匯編。END后的標號表示程序的入口地址,也就是匯編程序開始執行的地方。 2 基本傳送指令 基本傳送指令是使用最頻繁的指令,需要
    發表于 11-21 08:19

    51單片機RS485編程實例資料

    詳細介紹51單片機RS485通信接線和編程代碼
    發表于 10-20 14:57 ?4次下載

    物聯網平臺應用環境監控:低代碼編程簡化開發,組態應用

    傳統環境監控系統開發常陷入兩難困境,企業開發周期長、開發維護成本貴,基層運維人員不懂技術,遇到參數調整只能依賴IT團隊。而物聯網平臺驅動的環境監控系統,以低代碼編程為核心,通過“可視化組態應用”將
    的頭像 發表于 08-29 15:33 ?908次閱讀

    HarmonyOSAI編程編輯區代碼續寫

    利用AI大模型分析并理解開發者在代碼編輯區的上下文信息或自然語言描述信息,智能生成符合上下文的ArkTS或C++代碼片段。 使用約束 建議在編輯區內已有較豐富上下文,能夠使模型對編程場景有一定
    發表于 08-21 15:43

    貞光科技代理品牌 | 三星電容物料編碼規則

    核心規則,引用官方資料及行業解讀一、貼片電容(MLCC)編碼規則以典型型號CL03B104KQ8NNNC為例,分11段解析:位置代碼含義可選值示例1-2CL系列編碼
    的頭像 發表于 08-07 15:51 ?1366次閱讀
    貞光科技代理品牌 | 三星電容物料編碼<b class='flag-5'>規則</b>

    代碼開發云平臺是什么?零編程零成本搭建

    代碼物聯網云平臺是種融合了低代碼開發能力與物聯網(IoT)技術的云端服務平臺,其核心目標是大幅降低物聯網應用的開發門檻和成本,讓用戶無需專業編程經驗,也能快速構建、部署和管理物聯網系統。 低
    的頭像 發表于 07-31 15:25 ?761次閱讀

    HarmonyOS AI輔助編程工具(CodeGenie)代碼續寫

    利用AI大模型分析并理解開發者在代碼編輯區的上下文信息或自然語言描述信息,智能生成符合上下文的ArkTS或C++代碼片段。 一、使用約束 建議在編輯區內已有較豐富上下文,能夠使模型對編程場景有一定
    發表于 07-15 16:15

    上傳示例代碼后,CYPD3171不再可編程是怎么回事?

    我有一個使用 CYPD3171 芯片的定制板,用于定制移動電源應用。在第一個測試 PCB 上我上傳了示例代碼,但后來我發現我無法再對其進行編程。我查看了引腳排列的代碼和 GUI,發現代碼
    發表于 07-15 08:01

    貼片電解電容的命名規則涵蓋哪些重要參數?

    貼片電解電容的命名規則通過標準化編碼整合容量、耐壓、尺寸等關鍵參數,是電子工程師選型的重要依據。其命名結構通常為 尺寸代碼+材質標識+容量代碼+耐壓代碼+端頭/包裝標識 ,以風華
    的頭像 發表于 07-09 15:55 ?1172次閱讀

    KiCad 中的自定義規則(KiCon 演講)

    “ ?Seth Hillbrand 在 KiCon US 2025 上為大家介紹了 KiCad 的規則系統,并詳細講解了自定義規則的設計與實例。? ” ? 演講主要圍繞 加強 KiCad 中的自定義
    的頭像 發表于 06-16 11:17 ?2143次閱讀
    KiCad 中的自定義<b class='flag-5'>規則</b>(KiCon 演講)

    MISRA C:2025新標準解析:新增規則、優化點與靜態代碼分析工具支持(Perforce QAC、Klocwork)

    MISRA C:2025?發布!新增5條規則,并對部分現有規則進行了擴展、重組,以進一步簡化安全關鍵型系統的開發流程。如何實現最新MISRA合規性?
    的頭像 發表于 05-08 17:58 ?2864次閱讀
    MISRA C:2025新標準解析:新增<b class='flag-5'>規則</b>、優化點與靜態<b class='flag-5'>代碼</b>分析工具支持(Perforce QAC、Klocwork)

    使用 QWQ:32B 模型搭配 VSCode 的 Cline 插件實現自動化代碼編程

    作者:算力魔方創始人/英特爾創新大使劉力 一,概述 隨著人工智能技術的快速發展,自動化編程工具逐漸成為開發者的得力助手。QWQ:32B 模型是一種先進的自然語言處理模型,能夠理解并生成高質量的代碼
    的頭像 發表于 03-21 18:12 ?1318次閱讀
    使用 QWQ:32B 模型搭配 VSCode 的 Cline 插件實現自動化<b class='flag-5'>代碼</b><b class='flag-5'>編程</b>!

    基于BLE技術 智能手寫筆解決方案:改變你的書寫體驗PTR5415

    方案說明: 我們的智能手寫筆方案基于BLE技術,利用藍牙低功耗連接手寫筆與移動設備(如智能手機、平板電腦)之間的無線通信。可以實時將書寫數據上傳到手機APP及云端,及時有效的對書寫數據進行存檔及管理
    發表于 03-11 17:50