Files
docx-js/docs/contribution-guidelines.md
2018-08-09 03:23:07 +01:00

1.5 KiB

Contribution Guidelines

Writing Code

  • Include documentation reference(s) at the top of each file:

    // http://officeopenxml.com/WPdocument.php
    
  • Follow Prettier standards, and consider using the Prettier VSCode plugin.

  • Follow the TSLint rules

Add vs Create

This is just a guideline, and the rules can sometimes be broken.

  • Use create if the method new's up an element inside:

    public createParagraph() {
        const paragraph = new Paragraph();
        this.root.push(paragraph);
    }
    
  • Use add if you add the element into the method as a parameter:

    public addParagraph(paragraph: Paragraph) {
        this.root.push(paragraph);
    }
    

Getters and Setters

Getters and Setters are done with a capital letter like so:

public get Level() {

}

There is no performance advantage by doing this. It means we don't need to prefix all private variables with the ugly _:

Do not:

private get _level: string;

Do

private get level: string;

Testing

Please write a test of every file you make and suffix it with .spec.ts.

Here is a template of a test:

import { assert } from "chai";

describe("ClassName", () => {
    beforeEach(() => {
        // TODO
    });

    describe("#methodName()", () => {
        it("should ", () => {
            // TODO
        });
    });
});