天天看点

SAP Spartacus 开发规范

某些违反准则的行为可以通过一个名为 codelyzer 的工具自动检测,该工具与 Angular CLI 捆绑在一起。 您可以使用以下命令分析 angular 应用程序:

SAP Spartacus 开发规范

side context

可以为每个页面更改站点上下文。 对于不同的站点上下文,响应数据可能不同。 在页面上工作时请记住这一点。

此外,登录用户和匿名用户可能会看到不同的响应数据。 在页面上工作时,请考虑到用户可以通过登录或注销来更改其登录状态。

Module

尽量保持模块尽可能小。 大多数情况下,一个模块只有一个组件。 此外,我们应该始终尝试减少模块依赖性。

Protected and Private Methods

如果方法需要可扩展,请将其声明为受保护的方法。 但是请记住,所有受保护的方法都是我们公共 API 的一部分。 如果您更新受保护的方法,则必须小心不要尽可能引入破坏性更改。 如果方法不需要可扩展,则将其声明为私有。 例如,如果您要在服务中创建辅助方法以提高代码可读性,最好将这些方法声明为私有方法,除非这些方法必须可由客户扩展。

DOM Manipulation

一个简单的方法是使用@angular/core 中的 ElementRef。 这不是正确的方法。

根据 ElementRef 上的官方 Angular 文档:

当需要直接访问 DOM 时,将此 API 用作最后的手段。 改用 Angular 提供的模板和数据绑定。 或者,您可以查看 Renderer2,它提供了即使在不支持直接访问本机元素时也可以安全使用的 API。

不推荐的做法:

// ElementRef

this.element.nativeElement.style.color = 'yellow';

1

2

推荐的做法:

// Renderer2

this.renderer.setStyle(this.element.nativeElement, 'color', 'yellow');

Service

给 Service 的方法设置访问控制权限时,考虑以下准则:

如果预期可通过公共 api 访问,则应使用公共方法。

如果预期会被覆盖或扩展,则应使用受保护的方法。

如果预期仅供服务使用,则应使用私有方法。

————————————————

版权声明:本文为CSDN博主「汪子熙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:

https://blog.csdn.net/i042416/article/details/118414019

继续阅读