-
艾思AI-admin框架开发指导意见与规范1.0
指导意见与规范1.0
- 再次强调注释的重要性, 你认为的一眼就能看懂的代码, 不是所有人都能一眼看懂, 也可能你过几个月之后也不确定了; 请务必多写注释
- 注释代码要准确, 清楚, 有意义. 错误的, 没有意义的注释, 不如没有. (拷贝代码, 代码改了请一定把注释一起进行修改)
- 最好的注释不只是说明实现了什么, 做了什么, 最好还有为什么这么做
- 除必要情况, 禁止随意在代码中使用大量换行, 一般情况下行与行之间使用单行空白行或两行空白
- 除必要情况, 代码中禁止含有大量废弃代码注释行.
- 常用控制器方法命名规范:
- 添加/保存: edit
- 分页列表: lists
- 详情页: detail
- 删除: del
- 不分页列表: ls(注意, 当表内数据过多, 比仿说超过50条时谨慎使用, 因为此方法是返回所有的表内数据. 不是所有表都有这个方法)
- 查询前20条列表: search(不是所有表都有这个方法)
- PHP和JS虽然都是弱类型语言, 但是还是要理解它们的数据类型, 特别是PHP开发人员, 如果对理解, 或不注意变量类型, 会对前端开发人员造成很大困扰
- 建议把中文输入法的符号改为英文符号; 也就是说不管输入中文还是英文, 全部使用英文半角符号;
- 代码在保证安全性, 性能, 可读性等条件下, 以少为美;
- 同一个方法或函数, 总体行数为一屏全部显示为优, 45行以内, 当一个方法或函数超过45行时, 要考虑是否重构;
- 理解类的概念, 避免出现和类不相关的内容; 比仿说: 新闻类中, 出现新闻分类的列表方法, 这是不符合面向对象思想的;
前端开发指导意见
- 开发工具统一使用VS Code
- 表格的对齐方法: 一般文本左对齐, 数字右对齐, 操作按钮居中对齐
- 表格的宽度要单独定义: 一般ID宽度70px, 80px, 120px; 状态的宽度:70px, 80px, 120px
- 表格通用以可能最长的, 或不定长度的定段为自适应宽度(不设置宽度), 这种字段在一个表格中通常一到两个, 不要出现所有宽度都自适应的情况
PHP开发指导意见
- 开发工具统一使用VS Code, 安装PHP Intelephense(PHP代码格式化)插件; 搜索:Format: Braces 选择:k&r, 统一使用k&r样式格式化代码.
- Better Align插件的使用windows: ctrl+alt+= mac: control+command+=
- Vue插件: 安装:Vetur , 修改Vetur › Format › Default Formatter: JS为vscode-typescript; Vetur › Format › Options: Tab Size为4
- 安装单词拼写错误Code Spell Checker插件:Enabled Language Ids并在最下面添加想要检查的文件的扩展名
- 核心模块如果需要修改或添加, 请进行全员通知, 并在下次培训时进行培训和说明; 核心的文件包括: BaseController.php, common.php, common_uncode.php, Common模块, Core模块, ThinkPHP框架内容, 自建函数写到common_customphp.
- 统一使用input快捷助手函数接收参数. 如: int类型使用: input(‘id/d’, 0); string类型使用input(‘ids’, ‘’), 其它直接使用input()全部接收;
- 模块化思维, 一张表对应一套主验证器模型控制器, 尽量避免相互调用; 比仿说: 新闻表中, 不要出现新闻分类的列表方法, 新闻分类列表的方法要写到新闻分类模块的控制器中. 此方式可能会造成一个页面需要调用的接口数量过多, 对一些大页面的性能可能有影响, 比仿说一些APP的首页, 这种情况一下可以对接口特殊处理, 合并一些不经常变动的接口;
- 字段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