【问题标题】:Best practices regarding spacing and placement in typescript [closed]关于打字稿中间距和位置的最佳实践[关闭]
【发布时间】:2022-06-15 00:32:06
【问题描述】:

编写使用 Typescript 和 Webstorm 作为 IDE 的 Angular 应用程序。

最初,编写的代码是

class MyComponent implements OnInit {
    /**
     * Docstring explaining isProcessing
     */
    isProcessing = false;

    /**
     * Docstring after a blank line brake
     */
    data: any;

    constructor(
        private myService: MyService
    ) {}

    ngOnit() {
        console.log('Angular init');
    }

    get data() {
        return this.data;
    }

    private setData(data) {
        this.data = data;
    }

    getData() {
        return this.data;
    }
}

在提交更改时,我选择了以下选项

之后代码改为

class MyComponent implements OnInit {
    /**
     * Docstring after a blank line brake
     */
    data: any;
    /**                                         // Blank line removed
     * Docstring explaining isProcessing
     */
    isProcessing = false;

    constructor(
        private myService: MyService
    ) {                                         // constructor empty body brackets
    }

    get data() {                                // getter moved above ngOnit
        return this.data;
    }

    ngOnit() {
        console.log('Angular init');
    }

    getData() {
        return this.data;
    }

    private setData(data) {                    // private methods moved to bottom
        this.data = data;
    }
}

现在我必须向我的团队解释为什么会发生这种情况,以及在属性或方法的间距和排列方面应遵循哪些准则?

尝试查看 typescript 最佳实践 (https://google.github.io/styleguide/tsguide.html),但没有找到关于上述内容的任何内容。

【问题讨论】:

    标签: typescript


    【解决方案1】:

    强制执行一致的代码格式的工具是代码格式化程序。 TypeScript 代码格式化程序的一个示例是 prettierESLint

    一个好的做法是在整个开发团队中就使用具有单一配置的单一格式化程序达成一致。

    格式化程序应该在提交到主分支之前在任何提交上运行,以验证代码是否正确格式化。理想情况下,验证应该是通过自动化作业(使用 Circle CI、GitLab CI、GitHub Actions 等平台)进行代码审查过程的一部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-27
      • 2013-10-02
      相关资源
      最近更新 更多