前端代码规范

standard的规范链接: https://standardjs.com/

CSS命名规范: https://getbem.com/introduction/

命名规范

命名规范是代码规范中的一个重要组成部分,它涉及到变量、函数、类、文件等各种命名方式。良好的命名规范可以提高代码的可读性、可维护性和可扩展性。

我们项目主要使用驼峰命名法。

  1. 变量命名:使用小写字母开始,后面的单词首字母大写,不使用下划线或其他分隔符。例如:firstName、lastName、age、phoneNumber 等。

  2. 函数命名:使用小写字母开始,后面的单词首字母大写,不使用下划线或其他分隔符。例如:getUserInfo、getUserName、setPassword、calculateTotal 等。

  3. 类命名:使用大写字母开始,后面的单词首字母大写,不使用下划线或其他分隔符。例如:Person、Student、Teacher、Course 等。

  4. 常量命名:使用大写字母,单词之间使用下划线分隔。例如:MAX_LENGTH、MIN_VALUE 等。

  5. 枚举命名:使用大写字母开始,后面的单词首字母大写,不使用下划线或其他分隔符。例如:Color、Size、Type 等。

  6. 泛型命名:使用单个大写字母。例如:T、K、V 等。

编码规范

1. 缩进规范:

  • 使用 4 个空格作为一个缩进层级。 - 不要使用制表符,因为它们在不同的编辑器和环境中可能会显示不同的宽度。

2. 空格规范:

  • 在运算符前后添加空格,例如:a + b。 - 在逗号后添加空格,例如:a, b, c。 - 在冒号后添加空格,例如: {'a': 1, 'b': 2} 。 - 在函数参数列表的左括号前不要添加空格,例如:foo(a, b, c)。

3. 注释规范:

  • 在代码中添加注释,以便于其他人理解代码的含义和作用。 - 使用清晰的语言和格式编写注释,例如:使用英文、使用完整的句子、使用正确的标点符号等。 - 在代码中添加注释时,应该考虑到注释的位置和粒度,避免过多或过少。

4. 代码风格规范:

  • 使用一致的命名规范,例如:驼峰命名法、下划线命名法等。 - 遵循一致的代码结构和格式,例如:花括号的位置、换行符的使用等。 - 避免使用魔法数字和硬编码的字符串,应该使用常量或枚举类型来代替。 - 避免使用全局变量和单例模式,应该使用依赖注入等方式来管理对象之间的依赖关系。

错误处理规范

1. 异常处理:

  • 在代码中使用异常处理来处理错误和异常,避免使用错误码和返回值来表示错误。 - 在捕获异常时,应该使用具体的异常类型来捕获,避免使用通用的 Exception 类型来捕获。 - 在捕获异常时,应该考虑到异常处理的位置和粒度,避免过多或过少的异常处理。

2. 日志记录:

  • 在代码中添加日志记录,以便于追踪错误和异常。 - 在记录日志时,应该使用清晰的语言和格式,例如:使用英文、使用完整的句子、使用正确的标点符号等。 - 在记录日志时,应该考虑到日志记录的级别和粒度,避免过多或过少的日志记录。

3. 错误信息:

  • 在代码中使用清晰和具体的错误信息,以便于用户理解和解决问题。 - 在错误信息中,应该包含错误的类型、位置和原因等信息,避免使用过于简单或模糊的错误信息。

4. 异常处理的最佳实践:

  • 在捕获异常时,应该及时处理异常,避免将异常传递到更高层次的代码中。 - 在处理异常时,应该考虑到异常的类型和原因,避免过于简单或模糊的异常处理。 - 在处理异常时,应该考虑到异常的影响和后果,避免对系统的稳定性和安全性造成影响。

安全规范

1. 密码加密:

  • 在存储用户密码时,应该使用安全性高的加密算法,例如 SHA-256 或 bcrypt 等。 - 在用户登录时,应该对用户输入的密码进行加密处理,以便于和存储的密码进行比对。 - 在密码加密时,应该使用随机盐值,避免相同的密码被加密成相同的值。

2. SQL 注入:

  • 在编写 SQL 语句时,应该使用参数化查询或存储过程,避免将用户输入的数据直接拼接到 SQL 语句中。 - 在参数化查询或存储过程中,应该对输入的参数进行类型检查和转换,避免恶意用户输入非法的参数。 - 在参数化查询或存储过程中,应该对输入的参数进行长度检查和过滤,避免恶意用户输入过长或包含特殊字符的参数。

3. XSS 攻击:

  • 在输出用户输入的数据时,应该对数据进行过滤和转义,避免恶意用户输入的脚本代码被执行。 - 在输出用户输入的数据时,应该使用合适的 HTML 标签和属性,避免恶意用户输入的脚本代码被执行。 - 在输出用户输入的数据时,应该限制数据的长度和格式,避免恶意用户输入的数据对系统造成影响。

4. 安全性的一致性要求:

  • 在整个系统中,应该遵循相同的安全规范和标准,避免不同部分之间存在安全漏洞。 - 在整个系统中,应该使用相同的加密算法和技术,避免不同部分之间的数据传输和存储存在安全漏洞。 - 在整个系统中,应该使用相同的认证和授权机制,避免不同部分之间存在越权访问和操作的漏洞。

性能规范

1. 代码优化:

  • 避免重复代码,使用函数或类进行封装和复用。 - 优化循环和递归算法,减少时间和空间复杂度。 - 避免使用全局变量,使用局部变量或参数传递数据。 - 使用合适的数据结构和算法,提高代码效率和可读性。

2. 缓存使用:

  • 使用缓存技术,避免频繁访问数据库和文件系统。 - 设置合适的缓存过期时间,避免缓存数据过期或失效。 - 使用缓存命名空间,避免不同数据之间的冲突。 - 使用缓存预热技术,提高系统的响应速度。

3. 数据库查询:

  • 使用索引技术,加快数据库查询速度。 - 避免使用 SELECT *,只查询需要的字段。 - 使用 JOIN 和子查询,避免多次查询数据库。 - 避免使用 OR,使用 IN 或 UNION 替代。

版本控制规范

1. 使用合适的版本控制工具,如 Git、SVN 等,并在项目开始时就进行版本控制初始化。

2. 规范 Git 分支命名,通常主分支为 master,开发分支为 develop,特性分支为 feature/XX,修复分支为 hotfix/XX,具体可以查看git flow文档

3. 每次提交代码前,先进行本地代码的修改和测试,并确保代码风格统一。

4. 提交代码时,应该添加有意义的 commit message,简要描述该次提交的内容,方便团队成员理解修改的意图。

5. 及时拉取最新的代码,避免出现冲突或版本不一致的问题。

6. 避免在主分支上直接提交代码,应该在开发分支或特性分支上进行开发,并在开发成果稳定后合并到主分支上。

7. 定期进行代码合并和分支的删除,避免出现冗余和过多的分支。

8. 保护主分支的稳定性,避免引入新的问题或代码风格不一致的情况。

9. 定期进行版本发布和打标签,便于回滚或复原代码。

团队协作规范

1. 代码管理

  • 确定代码管理的流程和标准,如分支管理、代码格式、commit message 等。 - 使用合适的代码管理工具,如 Git、SVN 等,便于代码的版本管理和协作。 - 遵循代码规范,保持代码风格的一致性,减少代码冲突和维护成本。 - 定期进行代码评审和质量检查,及时发现和解决问题,提高代码质量。 - 避免在代码中使用敏感信息,如密码、密钥等,确保代码的安全性。

2. 代码提交

  • 确定代码提交的流程和标准,如代码审查、自动化构建、测试等。 - 提交代码之前,应该仔细检查代码,确保代码符合规范和质量要求。 - 提交代码时,应该附上详细的 commit message,描述代码变更的内容和原因。 - 避免频繁提交无用的代码,减少代码库的冗余和维护成本。 - 定期进行代码合并和分支管理,确保代码库的整洁和可维护性。

3. 代码评审

  • 确定评审人员和评审时间,并及时通知评审人员。 - 确定评审标准和流程,如代码规范、代码质量、性能等。 - 评审过程中,评审人员应该仔细阅读代码,发现问题并提出改进建议。 - 评审结果应该及时反馈给开发人员,确保问题得到及时解决。 - 定期进行代码评审,提高代码质量和可维护性。

4. 团队协作

  • 尊重团队成员的个人时间和隐私,避免在非工作时间打扰或干扰。 - 及时回复和解决团队成员的问题和需求,避免出现沟通瓶颈和延误。 - 定期进行团队内部培训和知识分享,提高团队成员的技术水平和工作效率。 - 遵循团队协作规范,保持团队成员之间的沟通和协作的顺畅和高效。 - 定期进行团队成员的绩效评估,发现和解决问题,提高团队的工作效率和质量。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。