黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

JavaScript 編程規(guī)范

編程規(guī)范又叫代碼規(guī)范,為了便于自己和他人閱讀和理解源程序,而制定的編程時(shí)必須遵守的約定,javascript 項(xiàng)目有自己的代碼約定。

 

1. javascript 代碼約定

代碼約定(coding conventions)指的是編程的樣式指導(dǎo)方針。這些原則大體上包括:

  • 變量和函數(shù)的命名和聲明規(guī)則
  • 使用空格、縮進(jìn)和注釋的規(guī)則
  • 編程習(xí)慣和準(zhǔn)則

代碼約定確保質(zhì)量:

  • 改善代碼可讀性
  • 提升代碼可維護(hù)性

代碼約定可以是團(tuán)隊(duì)遵守的成文規(guī)則,也可以是您個(gè)人的編碼習(xí)慣。

本頁(yè)介紹 yapf 使用的通用 javascript 代碼約定。

您應(yīng)該繼續(xù)閱讀下一章“最佳實(shí)踐”,學(xué)習(xí)如何避免編碼陷阱。

 

2. 變量名

在 yapf,我們對(duì)標(biāo)識(shí)符名稱(變量和函數(shù))使用了駝峰式大小寫。

所有名稱以字母開(kāi)頭。

在本頁(yè)的底部,我們會(huì)更廣泛地討論命名規(guī)則。

firstname = "bill";
lastname = "gates";
price = 19.90;
tax = 0.20;
fullprice = price + (price * tax);

 

3. 運(yùn)算符周圍的空格

請(qǐng)始終在運(yùn)算符( = + - * / )周圍以及逗號(hào)之后添加空格:

范例

var x = y + z;
var values = ["volvo", "saab",  "fiat"];

 

4. 代碼縮進(jìn)

請(qǐng)始終使用對(duì)代碼塊縮進(jìn)使用 4 個(gè)空格:

函數(shù)

function tocelsius(fahrenheit) {
    return (5 / 9) * (fahrenheit - 32);
}

請(qǐng)不要對(duì)縮進(jìn)使用制表符。不同的編輯器對(duì) tab 的解釋也不盡相同。

 

5. 語(yǔ)句規(guī)則

簡(jiǎn)單語(yǔ)句的通用規(guī)則:

請(qǐng)始終以分號(hào)結(jié)束單條語(yǔ)句:

范例

var values = ["volvo", "saab",  "fiat"];
var person = {
    firstname: "bill",
     lastname: "gates",
    age: 50,
    eyecolor:  "blue"
};

針對(duì)復(fù)雜語(yǔ)句(compound)的通用規(guī)則:

  • 請(qǐng)?jiān)诘谝恍械慕Y(jié)尾處寫開(kāi)括號(hào)
  • 請(qǐng)?jiān)陂_(kāi)括號(hào)前使用一個(gè)空格
  • 請(qǐng)?jiān)谛滦猩蠈戦]括號(hào),不帶前導(dǎo)空格
  • 請(qǐng)不要以分號(hào)來(lái)結(jié)束復(fù)雜語(yǔ)句

函數(shù):

function tocelsius(fahrenheit) {
    return (5 / 9) * (fahrenheit - 32);
}

循環(huán):

for (i = 0; i < 5; i++) {
    x += i;
}

條件:

if (time < 20) {
    greeting = "good day";
} else {
     greeting = "good evening";
}

 

6. 對(duì)象規(guī)則

針對(duì)對(duì)象定義的通用規(guī)則:

  • 把開(kāi)括號(hào)與對(duì)象名放在同一行
  • 在每個(gè)屬性與其值之間使用冒號(hào)加一個(gè)空格
  • 不要在最后一個(gè)屬性值對(duì)后面寫逗號(hào)
  • 請(qǐng)?jiān)谛滦猩蠈戦]括號(hào),不帶前導(dǎo)空格
  • 請(qǐng)始終以分號(hào)結(jié)束對(duì)象定義

范例

var person = {
    firstname: "bill",
    lastname: "gates",
    age: 50,
    eyecolor:  "blue"
};

可以對(duì)短對(duì)象在一行中進(jìn)行壓縮,只在屬性之間使用空格,就像這樣:

var person = {firstname:"bill", lastname:"gates", age:50, eyecolor:"blue"};

 

7. 行長(zhǎng)度小于 80

為了提高可讀性,請(qǐng)避免每行的長(zhǎng)度超過(guò) 80 個(gè)字符。

如果 javascript 語(yǔ)句超過(guò)一行的長(zhǎng)度,換行的最佳位置是運(yùn)算符或逗號(hào)之后。

范例

document.getelementbyid("demo").innerhtml =
    "hello kitty."; 

 

8. 命名約定

請(qǐng)始終對(duì)您所有的代碼使用相同的命名約定。例如:

  • 變量和函數(shù)名以駝峰大小寫來(lái)寫
  • 全局變量使用大寫(我們不這樣做,但是相當(dāng)普遍)
  • 常量(比如 pi)使用大寫

我們是否應(yīng)在變量名中使用連字符、駝峰大小寫或下劃線嗎?

這是程序員們經(jīng)常討論的問(wèn)題。答案取決于這個(gè)問(wèn)題是誰(shuí)回答的:

html 和 css 中的連字符:

html5 屬性能夠以 data- 開(kāi)頭(data-quantity, data-price)。

css 在 property-names 中使用連字符(font-size)。

hyphens 可被錯(cuò)誤地視為減法運(yùn)算符。javascript 命名不允許使用連字符。

下劃線:

許多程序員喜歡使用下劃線(date_of_birth),特別是在 sql 數(shù)據(jù)庫(kù)中。

下劃線經(jīng)常被用在 php 參考資料中。

帕斯卡命名法(pascalcase):

c 語(yǔ)言程序員經(jīng)常使用帕斯卡命名法。

駝峰大小寫(camelcase):

javascript 本身、jquery 以及其他 javascript 庫(kù)使用駝峰大小寫。

javascript 命名請(qǐng)不要以 $ 符號(hào)開(kāi)頭。此舉會(huì)引起 javascript 庫(kù)名稱沖突。

 

9. 在 html 中加載 javascript

使用簡(jiǎn)單的語(yǔ)法來(lái)加載外部腳本(type 屬性不是必需的):

 

 

10. 訪問(wèn) html 元素

使用“不整潔的” html 樣式的后果,也許是導(dǎo)致 javascript 錯(cuò)誤。

這兩條 javascript 語(yǔ)句會(huì)產(chǎn)生不同的結(jié)果:

var obj = getelementbyid("demo")
var obj = getelementbyid("demo") 

如果可能,請(qǐng)?jiān)?html 中使用相同的命名約定(就像 javascript 那樣)。

 

11. 文件擴(kuò)展名

html 文件應(yīng)該使用 .html 擴(kuò)展名(而非 .htm)。

css 文件應(yīng)該使用 .css 擴(kuò)展名。

javascript 文件應(yīng)該使用 .js 擴(kuò)展名。

 

12. 使用小寫文件名

大多數(shù) web 服務(wù)器(apache、unix)對(duì)文件名的大小寫敏感:

london.jpg 無(wú)法視作 london.jpg 進(jìn)行訪問(wèn)。

其他 web 服務(wù)器(微軟的 iis)對(duì)大小寫不敏感:

london.jpg 能夠以 london.jpg 或 london.jpg 來(lái)訪問(wèn)。

如果您混合使用大小寫,則必須嚴(yán)格保持連續(xù)和一致。

如果您將站點(diǎn)從大小寫不敏感的服務(wù)器轉(zhuǎn)移至對(duì)大小寫敏感的服務(wù)器,即使這種小錯(cuò)誤也可能破壞您的網(wǎng)站。

為了避免這些問(wèn)題,請(qǐng)始終使用小寫文件名(如果可能)。

 

13. 性能

計(jì)算機(jī)不會(huì)使用代碼約定。大部分規(guī)則對(duì)程序的執(zhí)行影響很小。

縮進(jìn)和額外的空格對(duì)小段腳本并不重要。

對(duì)于開(kāi)發(fā)中的腳本,應(yīng)該優(yōu)先考慮可讀性。應(yīng)該縮小更大型的生產(chǎn)腳本。

下一節(jié):js 最佳實(shí)踐

js 教程

相關(guān)文章