• 艾思AI-admin框架开发指导意见与规范1.0


    指导意见与规范1.0

    1. 再次强调注释的重要性, 你认为的一眼就能看懂的代码, 不是所有人都能一眼看懂, 也可能你过几个月之后也不确定了; 请务必多写注释
    2. 注释代码要准确, 清楚, 有意义. 错误的, 没有意义的注释, 不如没有. (拷贝代码, 代码改了请一定把注释一起进行修改)
    3. 最好的注释不只是说明实现了什么, 做了什么, 最好还有为什么这么做
    4. 除必要情况, 禁止随意在代码中使用大量换行, 一般情况下行与行之间使用单行空白行或两行空白
    5. 除必要情况, 代码中禁止含有大量废弃代码注释行.
    6. 常用控制器方法命名规范:
      • 添加/保存: edit
      • 分页列表: lists
      • 详情页: detail
      • 删除: del
      • 不分页列表: ls(注意, 当表内数据过多, 比仿说超过50条时谨慎使用, 因为此方法是返回所有的表内数据. 不是所有表都有这个方法)
      • 查询前20条列表: search(不是所有表都有这个方法)
    7. PHP和JS虽然都是弱类型语言, 但是还是要理解它们的数据类型, 特别是PHP开发人员, 如果对理解, 或不注意变量类型, 会对前端开发人员造成很大困扰
    8. 建议把中文输入法的符号改为英文符号; 也就是说不管输入中文还是英文, 全部使用英文半角符号;
    9. 代码在保证安全性, 性能, 可读性等条件下, 以少为美;
    10. 同一个方法或函数, 总体行数为一屏全部显示为优, 45行以内, 当一个方法或函数超过45行时, 要考虑是否重构;
    11. 理解类的概念, 避免出现和类不相关的内容; 比仿说: 新闻类中, 出现新闻分类的列表方法, 这是不符合面向对象思想的;

    前端开发指导意见

    1. 开发工具统一使用VS Code
    2. 表格的对齐方法: 一般文本左对齐, 数字右对齐, 操作按钮居中对齐
    3. 表格的宽度要单独定义: 一般ID宽度70px, 80px, 120px; 状态的宽度:70px, 80px, 120px
    4. 表格通用以可能最长的, 或不定长度的定段为自适应宽度(不设置宽度), 这种字段在一个表格中通常一到两个, 不要出现所有宽度都自适应的情况

    PHP开发指导意见

    1. 开发工具统一使用VS Code, 安装PHP Intelephense(PHP代码格式化)插件; 搜索:Format: Braces 选择:k&r, 统一使用k&r样式格式化代码.
    2. Better Align插件的使用windows: ctrl+alt+=   mac: control+command+=
    3. Vue插件: 安装:Vetur , 修改Vetur › Format › Default Formatter: JS为vscode-typescript; Vetur › Format › Options: Tab Size为4
    4. 安装单词拼写错误Code Spell Checker插件:Enabled Language Ids并在最下面添加想要检查的文件的扩展名

    1. 核心模块如果需要修改或添加, 请进行全员通知, 并在下次培训时进行培训和说明; 核心的文件包括: BaseController.php, common.php, common_uncode.php, Common模块, Core模块, ThinkPHP框架内容, 自建函数写到common_customphp.
    2. 统一使用input快捷助手函数接收参数. 如: int类型使用: input(‘id/d’, 0); string类型使用input(‘ids’, ‘’), 其它直接使用input()全部接收;
    3. 模块化思维, 一张表对应一套主验证器模型控制器, 尽量避免相互调用; 比仿说: 新闻表中, 不要出现新闻分类的列表方法, 新闻分类列表的方法要写到新闻分类模块的控制器中. 此方式可能会造成一个页面需要调用的接口数量过多, 对一些大页面的性能可能有影响, 比仿说一些APP的首页, 这种情况一下可以对接口特殊处理, 合并一些不经常变动的接口;
    4. 字段id替换名称的方式, 把id直接添加为对应的字段名称. 比仿说news表中, 新闻的分类ID字段添加对应的新闻分类名称. 则根据class_id添加class_name即为新闻分类的名称
  • 相关阅读:
    ChatGPT基础使用总结
    存储器的性能指标以及层次化存储器
    『现学现忘』Docker相关概念 — 1、云计算概念
    Semantic Kernel 入门系列:🍋Connector连接器
    ArcGIS:如何对要素类进行查询要素属性、更改符号、标记?
    vue中websocket使用(客户端)
    ESP8266 做简单的仪器
    【Ajax】全面详细了解git的基础操作【万字教学+面试常客】
    操作系统实验二:进程同步程序设计
    数据同步策略解读
  • 原文地址:https://blog.csdn.net/windzjp/article/details/126832145