在扩展OOTB行为时,请务必牢记升级。 始终在/apps目录中应用自定义,或者在/libs目录中相应节点的顶部进行叠加,或者使用sling:resourceSuperType扩展开箱即用行为。 虽然可能需要进行一些修改以支持新的AEM版本,但如果遵循此惯例,则新版本不应覆盖您的自定义设置。
这将使站点保持更一致的外观并简化代码维护。 当需要新模板时,请确保从共享的基本模板进行扩展,以便能够在一个位置编码全局要求,如clientlib inclusion。 当需要新组件时,请寻找从现有组件扩展的机会。
通过定义哪些组件可以包括在页面上的每个parsys中,可以控制站点的外观的一致性。 通过限制对页面上设计的访问,“超级作者”可以允许在无需开发人员干预的情况下修改每页允许的组件,同时确保其他作者遵循公司标准。
SOLID是一个缩略语,描述了应当遵循的五项建筑原则:
努力遵循这五项原则,应当形成一种严格分开的制度。
健壮性原则指出,我们所发送的内容应该保守,但接受的内容应该保持自由。 换句话说,在向第三方发送消息时,我们应该完全符合规范,但在从第三方接收消息时,只要消息的含义明确,就应该接受不一致的消息。
尖峰和测试代码是任何Agile软件实施的一个组成部分,但我们希望确保它们在没有适当监督级别的情况下无法进入我们的生产代码库。 因此,建议在自己的模块中创建尖峰。
虽然生产代码,但数据迁移脚本通常在站点初始启动时只运行一次。 因此,一旦站点生效,它就变成无效代码。 为了确保我们不构建依赖迁移脚本的实施代码,应在自己的模块中实现这些代码。 这还允许我们在启动后立即删除并停用此代码,从系统中消除死代码。
Apache已在https://maven.apache.org/developers/conventions/code.html发布了样式约定。 最好遵循这些惯例,因为这样可以更轻松地使新资源快速上手。