typescript - Mikä on TSLintin jäsenjärjestys Angular 2:ssa ja paras käytäntö sen toteuttamiseen


Olen juuri alkanut työstää Angular 2 -projektia. Kun suoritin tslint:n projektissani, esiintyi useita virheitä jäsenjärjestyksen suhteen. Olen myös yrittänyt opiskella aihetta itse Googlen haun avulla, mutta valitettavasti en ole saanut mitään hyödyllistä tietoa tästä ongelmasta. Toivoisin, että joku voisi ehdottaa ja neuvoa minua tässä asiassa.

Nykyiset tslint-säännökseni ovat seuraavat:

{
"rulesDirectory": [
    "node_modules/codelyzer"
],
"rules": {
    "class-name": true,
    "comment-format": [
        true,
        "check-space"
    ],
    "curly": true,
    "eofline": true,
    "forin": true,
    "indent": [
        true,
        "spaces"
    ],
    "label-position": true,
    "label-undefined": true,
    "max-line-length": [
        true,
        140
    ],
    "member-access": false,
    "member-ordering": [
        true,
        "public-before-private",
        "static-before-instance",
        "variables-before-functions"
    ],
    "no-arg": true,
    "no-bitwise": true,
    "no-console": [
        true,
        "debug",
        "info",
        "time",
        "timeEnd",
        "trace"
    ],
    "no-construct": true,
    "no-debugger": true,
    "no-duplicate-key": true,
    "no-duplicate-variable": true,
    "no-empty": false,
    "no-eval": true,
    "no-inferrable-types": true,
    "no-shadowed-variable": true,
    "no-string-literal": false,
    "no-switch-case-fall-through": true,
    "no-trailing-whitespace": true,
    "no-unused-expression": true,
    "no-unused-variable": true,
    "no-unreachable": true,
    "no-use-before-declare": true,
    "no-var-keyword": true,
    "object-literal-sort-keys": false,
    "one-line": [
        true,
        "check-open-brace",
        "check-catch",
        "check-else",
        "check-whitespace"
    ],
    "quotemark": [
        true,
        "single"
    ],
    "radix": true,
    "semicolon": [
        "always"
    ],
    "triple-equals": [
        true,
        "allow-null-check"
    ],
    "typedef-whitespace": [
        true,
        {
            "call-signature": "nospace",
            "index-signature": "nospace",
            "parameter": "nospace",
            "property-declaration": "nospace",
            "variable-declaration": "nospace"
        }
    ],
    "variable-name": false,
    "whitespace": [
        true,
        "check-branch",
        "check-decl",
        "check-operator",
        "check-separator",
        "check-type"
    ],
    "directive-selector-prefix": [
        true,
        "ihc"
    ],
    "component-selector-prefix": [
        true,
        "ihc"
    ],
    "directive-selector-name": [
        true,
        "camelCase"
    ],
    "component-selector-name": [
        true,
        "kebab-case"
    ],
    "directive-selector-type": [
        true,
        "attribute"
    ],
    "component-selector-type": [
        true,
        "element"
    ],
    "use-input-property-decorator": true,
    "use-output-property-decorator": true,
    "use-host-property-decorator": true,
    "no-input-rename": true,
    "no-output-rename": true,
    "use-life-cycle-interface": true,
    "use-pipe-transform-interface": true,
    "component-class-suffix": true,
    "directive-class-suffix": true
}

}

Vastaus #1

Sinun tulisi yrittää noudattaa virallista Angular-tyyliohjetta jäsenjärjestyksestä: https://angular.io/guide/styleguide#member-sequence