javascript中的程式設計語言如何編碼規範

來源:互聯網
上載者:User

  對於熟悉 C/C++ 或 Java 語言的工程師來說,javascript 顯得靈活,簡單易懂,對代碼的格式的要求也相對鬆散。很容易學習,並運用到自己的代碼中。也正因為這樣,javascript 的編碼規範也往往被輕視,開發過程中修修補補,最終也就演變成為後續維護人員的惡夢。軟體存在的長期價值直接與編碼的品質成比例。編碼規範能協助我們降低編程中不必要的麻煩。而 javascript 代碼是直接發送給客戶瀏覽器的,直接與客戶見面,編碼的品質更應該受到關注。

  本文淺談 javascript 編程中關於編碼規範的問題,分析其中緣由。希望引起更多 Web 開發人員對 javascript 編碼規範問題的關注和對軟體產品品質問題的重視。

  前言

  提及 C/C++ 和 Java 編碼規範,相信許多工程師並不生疏。但說到 javascript 語言的編碼規範,也許您會忍俊不禁。javascript 不是文法很靈活嗎?變數隨時用隨時可以聲明;語句結束符可以不要;字串和數字也可以相加;參數多一個少一個也不會報錯。沒錯,當您從 C/C++ 和 Java 嚴格的文法規定之下,轉向 javascript 語言,會覺得自由了很多,輕鬆了很多。文法鬆散是 javascript 重要的特徵。它靈活易懂,給開發人員帶來了很多方便,但如果編寫過程中不注意,代碼的調試成本和維護成本則會無形地增加。

  javascript 編碼會隨應被直接發送到用戶端的瀏覽器,代碼規範不只是代碼品質的保證,也影響到產品的長期信譽。希望 javascript 程式設計語言的規範問題也能同樣引起更多朋友的關注。

  javascript 編碼規範建議

  本文就 javascript 編碼過程中涉及的排版、命名、聲明、範圍、及一些特殊符號的使用等方面,根據個人在學習工作中的總結,給出自己的一些建議,並分析其中緣由,以供參考。

  javascript 檔案引用

  javascript 程式應該盡量放在 .js 的檔案中,需要調用的時候在 HTML 中以

  從清單 4 的輸出可以看出,inF() 函數僅在 outF() 函數的內部生效,局部變數 innerA 對內建函式的範圍生效。這樣的編碼方式使得變數和函數的範圍變得清晰。

  語句

  對於簡單語句而言,需要提及的仍然是分號必要性,同時,一行最多有一個語句。如果一個指派陳述式是用函數和對象來賦值,可能需要跨多行,一定切記要在指派陳述式末加上分號。

  這是因為 javascript 中,所有運算式都可以當語句,遇分行符號時會解析為運算式的結束,此時不規範的換行和分號的丟失,可能引入新的錯誤。

  對於複合陳述式,if, for, while, do, switch, try … catch 等代碼體,函數定義的函數體,對象的定義等都需要放在花括弧'{}'裡面。

  '{' 應在行末,標誌代碼塊的開始。

  '}' 應在一行開頭,標誌代碼塊的結束,同時需要和'{'所在行的開始對齊,以表明一個完整的複合陳述式段。這樣可以極大地提高代碼的可閱讀性,控制邏輯能清晰地表現出來。

  被包含的程式碼片段應該再縮排 4 個空格。

  即使被包含的程式碼片段只有一句,也應該用花括弧'{}'包含。儘管不用花括弧代碼也不會錯,但如若需要增加語句的話,則較容易因花括弧遺漏而引起的編譯錯誤或邏輯錯誤。

  return語句在使用時也需謹慎,如果用運算式的執行作為傳回值,請把運算式和 return 放在同一行中,以免分行符號被誤解析為語句的結束而引起返回錯誤。return 關鍵字後若沒有返回運算式,則返回 undefined。構造器的預設傳回值為 this。

  清單 5. return 運算式

  在清單 5 中顯示了因返回運算式沒有和 return 關鍵字放在同一行而引起的返回錯誤,需重視。

  特殊符號

  空白符

  適當的空白行可以大大提高代碼的可閱讀性,可以使代碼邏輯更清晰易懂。同時,在運算式中適當的留空白,也會給代碼的閱讀帶來方便。

  關鍵字的後面如有括弧,則最好在關鍵字和左括弧'('之間留空白,如 for, if, while 等。而函數名和括弧之間則不宜留空白,但若是匿名函數,則必須在 function 和左括弧'('之間留空白,否則,編輯器會誤認為函數名為 function。

  在運算式中,二元運算子 ( 除左括弧'(',左方括弧'[',範圍點'.') 和兩個運算元之間最好留空白。一元運算子(若不是詞 typeof 等)和其運算元之間不宜留空白。

  逗號','的後面需要留空白,以顯示明確的參數間隔,變數間隔等。

  分號';'之後通常表明表達語句的結束,而應空行。在 for 的條件陳述式中,分號之後則應該留空白。

  { } 和 [ ]

  在 javascript 中,如需定義Null 物件和空數組,通常很自然地想到用 new Object() 和 new Array() 的方法。其實花括弧'{}'和方括弧'[]'可以直接用來定義一個Null 物件和一個空數組。這種書寫方法可以使代碼看起來簡單易懂。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.