Kód Egyezmények a JavaScript Programozási Nyelv

Posted on

Ez egy kódolási konvenciók, szabályok használata a JavaScript programozás.

A hosszú távú érték a szoftver, hogy egy szervezet egyenes arányban a minőség a codebase. A projekt élettartama alatt, a program kezeli sok pár kéz, szem. Ha egy program képes arra, hogy világosan kommunikálni, annak szerkezete, jellemzői, kevésbé valószínű, hogy lesz szünet, amikor módosított a nem túl távoli jövőben. Kód egyezmények segíthet csökkenteni a törékenység programok.

Minden a JavaScript kód elküldve közvetlenül a nyilvánosság számára. Mindig a kiadvány minőségét. Nagyon csinos.

JavaScript-Fájlok

JavaScript programokat kell tárolni, szállítani .js fájlokat.

JavaScript-kódot nem kell ágyazott HTML fájlok, kivéve, ha a kód egyedi, hogy egy munkamenetben. Kód HTML jelentős mértékben hozzájárul pageweight nincs lehetősége, az enyhítő által cache, tömörítés.

Üres

Ahol lehetséges, ezek a szabályok összhangban vannak az évszázados jó gyakorlat irodalmi stílus. Eltérések irodalmi stílust csak akkor tolerálható, ha erős a bizonyíték, hogy egy jelentős előny.

Üres sorok olvashatóság javítása által a beállítást, szelvény kód, amelyek logikusan kapcsolódik.

Üres terek kell alkalmazni a következő esetekben:

Minden nyilatkozatot kell kezdeni igazodik a jelenlegi behúzás. A legkülső szinten a bal margóhoz. A behúzás növeli a 4 terek, amikor az utolsó token az előző sor { bal zárójel, a [ bal zárójel, ( bal zárójel. A megfelelő záró token lesz az első token egy sort, visszaállítása az előző behúzás.

A hármas operátor lehet vizuálisan zavaró, szóval ? kérdőjel mindig kezdődik egy sort, majd növelje a behúzás 4 helyekre : vastagbél mindig kezdődik egy sort, igazodik az ? kérdőjel. A feltétel csomagolva.

  var integer = function (
        value,
        default_value
    ) {
        value = resolve(value);
        return (typeof value === "number")
            ? Math.floor(value)
            : (typeof value === "string")
                ? value.charCodeAt(0)
                : default_value;
    };

Ha . az időszak első karakter egy sorban, a behúzás-kal nőtt, 4 ív.

Kerülje a túl hosszú sorok. Ha egy állítás nem illik szépen egy sorban, szükséges lehet törni. A legjobb, hogy szünet után, { bal zárójel, a [ bal zárójel, ( bal zárójel, , vessző, vagy előtt . időszak, ? kérdőjel, vagy : kettőspont. Ha egy ilyen áttörés nem lehetséges, majd a szünet után az üzemben tartó, vagy továbbra is a következő sor a 8 terek ki, hogy a jelenlegi behúzás. Azok a 8 terek nem változnak a jelenlegi behúzás.

Záradékok (az, kapd el, majd az alapértelmezett más, végre) nem kimutatások, így nem kell tagolt, mint a kijelentéseket.

Lapok, terek nem keverhető. Kéne választani, csak egy annak érdekében, hogy elkerüljék a problémákat, hogy mindkettő. Személyes preferencia rendkívül megbízhatatlan kritériumoknak. Sem a lap, sem a helyet kínál egy hatalmas előnye a többi. Ötven évvel ezelőtt, a lap volt az előnye, hogy kevesebb memóriát fogyaszt, de a Moore-Törvény megszüntette ezt az előnyt. Tér van egy egyértelmű előnyt lap: még mindig nincs megbízható szabvány hány terek egy lapot jelent, de általánosan elfogadott, hogy egy térben foglal helyet. Ezért mindig használjon szóközöket. Szerkesztheti a lapok, ha kell, de győződjön meg róla, hogy a terek még egyszer, mielőtt kötelezettséget. Egyszer talán lesz végre egy egyetemes szabvány a lapok, de amíg eljön az a nap, a jobb választás terek.

Hozzászólások

Légy nagylelkű megjegyzést. Hasznos, hogy hagyja el az információ, hogy lesz olvasni egy későbbi időpontban, amelyet az emberek (esetleg a jövőben egyéni), ki kell, hogy érted, hogy mit tettél, miért. A hozzászólások kell jól megírt, tiszta, mint a kódot ezek annotating. Alkalmi nugget humor lehet értékelni. Feszültséget, ellentéteket nem.

Fontos, hogy megjegyzéseket folyamatosan up-to-date. Hibás hozzászólások lehet, hogy a programok még nehezebb, hogy figyelmesen olvassa el.

Megjegyzéseket értelmes. Koncentráljon arra, amit azonnal nem látható. Ne pazarold az olvasó idejét dolgok, mint

    i = 0; // Set i to zero.

A line megjegyzést.

Változó Nyilatkozatok

Minden változót be kell jelenteni, mielőtt használni. A JavaScript nem igényel, de ilyen esetben a program könnyebb olvasni, így könnyebb felismerni a be nem jelentett változók válhat hallgatólagos. Hallgatólagos globális változók soha nem szabad használni. Használja a globális változók minimálisra kell csökkenteni.

Előnyös, hogy minden változó deklaratív nyilatkozatot, valamint megjegyzést. Azt kell betűrendben, ha lehetséges.

    var currentEntry; // currently selected table entry
    var level;        // indentation level
    var size;         // size of table

JavaScript-var nem rendelkezik blokk hatálya alá, így meghatározó változók tömb képes összezavarni a programozók, akik a tapasztalt más családi C nyelven.

Funkció Nyilatkozatok

Minden funkciót be kell jelenteni, mielőtt használják. Belső funkciók követnie kell a var utasítást. Ez segít, hogy világosan, milyen változók tartoznak a hatálya alá.

Nem szabad tér között, a függvény neve, valamint a ( bal zárójel a paraméter lista. Ott kell, hogy legyen egy hely között ) jobb zárójel, { bal kapcsos zárójel, hogy kezdődik a nyilatkozat szervezet. A szervezet maga is tagolt, négy terek. A } nem igaz kapcsos zárójel összhangban van az egyenesnek az elején a nyilatkozat a funkció.

    function outer(c, d) {
        var e = c * d;

        function inner(a, b) {
            return (e * a) + b;
        }

        return inner(0, 1);
    }

Ez az egyezmény jól működik a JavaScript, mert a JavaScript funkciót, illetve a tárgy közvetlen használata erősen kerülendő bárhol elhelyezhető, hogy egy kifejezés megengedett. Ez biztosítja a legjobb olvashatóság rendelkező inline függvények, összetett szerkezetek.

    function getElementsByClassName(className) {
        var results = [];
        walkTheDOM(document.body, function (node) {
            var array;                // array of class names
            var ncn = node.className; // the node's classname

// If the node has a class name, then split it into a list of simple names.
// If any of them match the requested name, then append the node to the list of results.

            if (ncn && ncn.split(" ").indexOf(className) >= 0) {
                results.push(node);
            }
        });
        return results;
    }

Ha egy függvény, szó szerinti névtelen kell, hogy legyen egy hely között, a szó, a funkció, a ( bal zárójel. Ha a tér nem adjuk meg, akkor úgy tűnik, hogy a függvény neve funkció, amely egy hibás olvasás.

    div.onclick = function (e) {
        return false;
    };

    that = {
        method: function () {
            return this.datum;
        },
        datum: 0
    };

Használja a globális funkciók minimálisra kell csökkenteni.

Ha egy funkció lehet hivatkozni azonnal, az egész invokáció kifejezést kell csomagolni parens, így egyértelmű, hogy az értéket állítja elő, ez a függvény eredménye, nem pedig a funkció.

 

Név

A neveket kell kialakítani a 26 felső, kisbetűi (A .. Z, a .. z) a 10 számjegy (0 .. 9), _ underbar. Ne használja a nemzetközi karakterek, mert lehet, hogy nem jól olvasni, vagy értelmezni, mindenhol. Ne használja a $ dollár jele, vagy a \ fordított nevek.

Ne használj _ underbar, mint az első, vagy az utolsó karakternek a neve. Néha a célja, hogy jelezze, adatvédelmi, de ez valójában nem a magánélet. Ha adatainak védelme fontos, használata, bezárása. Kerülje egyezmények, amelyek bemutatják a hatáskör hiánya.

A legtöbb változók, függvények kell kezdeni egy kisbetűt.

Kivitelező funkciókat kell használni az új előtag kell kezdeni egy betű. JavaScript kérdések sem compile-time figyelmeztetés, sem a futásidejű figyelmeztetés ha egy szükséges új hagyni. Rossz dolgok történhetnek, ha új, nem használt, így a kapitalizáció egyezmény az egyetlen védelem.

A globális változók a böngészők kell nagybetűvel.

Nyilatkozatok

Egyszerű Kijelentések

Minden sort kell tartalmaznia, legfeljebb egy nyilatkozatot. Egy ; pontosvessző a végén minden egyszerű kijelentés. Vegye figyelembe, hogy egy feladatot, nyilatkozat arról, hogy a rendelése funkció prózai vagy tárgy, szó szerint, még egy feladatot nyilatkozatot kell végén egy pontosvessző.

JavaScript lehetővé teszi, hogy bármilyen kifejezést lehet használni, mint egy nyilatkozatot. Ez a maszk néhány hibát, különösen a jelenléte pontosvessző beillesztés. Az egyetlen kifejezés, hogy kell használni, mint a kijelentések feladatokat, könyörgések, majd a törlés gombra.

Összetett Mondatok

Összetett kijelentések kimutatásokat tartalmazó listák, kimutatások zárt a { } kapcsos zárójelek.

Címkék

Nyilatkozat címkék el kell kerülni. Csak ezeket a nyilatkozatokat kell címkével: míg,,, csere.

vissza Nyilatkozatot

A visszatérési érték kifejezést kell kezdeni ugyanabban a sorban, mint a return kulcsszó annak érdekében, hogy elkerüljék a pontosvessző beillesztés.

ha Nyilatkozatot

Az osztályban nyilatkozatok az alábbi formában:

if (feltétel) {
nyilatkozatok
}

if (feltétel) {
nyilatkozatok
} else {
nyilatkozatok
}

if (feltétel) {
nyilatkozatok
} else if (feltétel) {
nyilatkozatok
} else {
nyilatkozatok
}

a Nyilatkozat

Egy osztály nyilatkozatok az alábbi formában:

for (inicializálás; feltétel; update) {
nyilatkozatok
}

míg Nyilatkozat

Egy ideig nyilatkozatot, az alábbi formában:

míg (feltétel) {
nyilatkozatok
}

tedd Nyilatkozat

Egy nyilatkozatot, az alábbi formában:

do {
nyilatkozatok
} miközben (feltétel);

Ellentétben a többi összetett mondatok, a nyilatkozatot mindig végződik ; pontosvessző.

switch Nyilatkozat

Egy switch-et, az alábbi formában:

switch (kifejezés) {
case kifejezés:
nyilatkozatok
alapértelmezett érték:
nyilatkozatok
}

Minden esetben igazodik a kapcsolót. Ezzel elkerülhető, hogy túl behúzás. Egy esetben címke nem egy nyilatkozatot, nem kell tagolt.

Minden csoport a nyilatkozatok (kivéve az alapértelmezett) kell, hogy véget szünet, vissza, vagy dobja. Nem esnek keresztül.

próbáld Nyilatkozat

A try osztály nyilatkozatok az alábbi formában:

try {
nyilatkozatok
} catch (változó) {
nyilatkozatok
}

try {
nyilatkozatok
} catch (változó) {
nyilatkozatok
} végre {
nyilatkozatok
}

továbbra Nyilatkozatot

Ne használja a továbbra is a nyilatkozatot. Hajlamos arra, hogy elfedje a control flow a funkció.

a Nyilatkozat

A rendelkező nyilatkozat nem szabad használni.

{} es []

Használja {} ahelyett, new Object(). Használja a [] ahelyett, new Array().

Használja tömbök, ha a tag a nevek szekvenciális egész számok. Használja a tárgyakat, amikor az érintett neve tetszőleges húrok vagy nevek.

, vessző Szereplők

Ne használja a vessző operátor. (Ez nem vonatkozik a vessző, ami használt objektum közvetlen használata erősen kerülendő, tömb közvetlen használata erősen kerülendő, var nyilatkozatok, valamint a paraméter lista.)

Feladat Kifejezések

Kerüljék ki a feladatokat a feltétel része, ha, míg a kijelentéseket.

Az

   if (a = b) {

a helyes állítás? Vagy

    if (a == b) {

célja? Kerülje a konstrukciók, hogy nem lehet könnyen meghatározni, hogy a helyes.

=== es !== Szereplők.

Használja a === es !== szereplők. A == es != szolgáltatók típusa kényszer nem alkalmazható.

Zavaros Pluses and Minuses

Legyen óvatos, hogy ne kövesse a + a + vagy a ++. Ez a minta zavaró lehet. Helyezze parens közöttük, hogy a szándék egyértelmű.

    total = subtotal + +myInput.value;

jobb írni, mint

  total = subtotal + (+myInput.value);

úgy, hogy a + + nem félreértettem, mint a ++. Kerülje a ++.

eval Gonosz

Az eval függvény a legtöbb visszaélnek jellemzője a JavaScript használatát. Elkerülni.

eval van álneve. Ne használja a Funkciót kivitelező. Ne adja át a szálakat, hogy setTimeout vagy setInterval.

 

Eredetileg egy http://javascript.crockford.com/code.html. Készítette http://hunsci.com