一、idea使用技巧
1. idea快捷键
2. 常用快捷键
快捷键 | 说明 | 备注 |
---|
Ctrl + Shift + F | 全局搜索 | 容易和输入法简繁体切换键冲突 | Ctrl + Shift + R | 全局替换 | | Ctrl + Shift + Enter | 代码补全后,自动在代码末尾添加分号结束符 | | Ctrl + Alt + T | 自动生成具有环绕性质的代码,比如:if…else,try…catch, for, synchronized 等等 | try…catch很方便 | Ctrl + W | 扩选代码内容 | 很常用 | Ctrl + Shift + W | 是 Ctrl + W 的反向操作 | | Ctrl + Alt + L | 格式化代码 | 经常保持格式代码的习惯 | Shift + Tab | 反缩进 | | Ctrl + Shift + V | 从之前的剪切或拷贝的代码历史记录中,选择现在需要粘贴的内容。 | 很实用 | Ctrl + D | 复制当前行到下一行 | 实用 | Ctrl + Y | 删除光标所在行 | | Ctrl + Shift + J | 把下一行的代码接续到当前的代码行 | | Shift + Enter | 当前代码行与下一行代码之间插入一个空行,原来光标现在处于新加的空行上。 | | Ctrl + Shift + U | 所选择的内容进行大小写转换 | 实用 | Shift + F6 | 安全重命名(会自动修改引用的名字) | 常用 | ctrl + Shift+ z | 反撤回 | | Ctrl + G | 代码定位(行列) | | | | | | | |
3. Ctrl + F (高级查找功能)
4. 编辑器文件跳转控制
跳转操作 | 说明 | 备注 |
---|
Ctrl+E | 近期使用文件 | 超实用 | Ctrl + Shift + E | 最近修改文件 | | Ctrl+Shift+BackSpace | 光标移动到最近修改的地方 | 常用 | Ctrl + Alt + ← | 返回上次浏览的位置 | | Ctrl + Alt + → | 返回下次浏览的位置 | | F11 | 书签 | | Shift + F11 | 显示所有的书签 | | Ctrl + F11 | 带有数据的书签 | | Ctrl + 对应数字 | 跳转对应的书签 | | Favorites | 我的收藏 | 开发新模块 | ctrl + F12 | 查看方法和属性列表 | |
5. 热部署
6. 断点调试
断点类型 | 截图 | 说明 |
---|
方法断点 | | 打在接口上得断点,断点会卡在,运行时实现方法的第一行 | 条件断点 | | 满足条件时才会进的断点,for循环中使用较多 | 异常断点 | | 自动停留在抛出该异常的代码行 | 属性断点 | | 当给属性赋值时下断 | 读取值断点 | | 当get该属性值时下断 | 断点回退 | | 后悔药 | 强制退出 | | 强制退出,不用执行后续代码(避免重启) | 断点中修改值 | | 断点中手动修改值,修改后续分支逻辑 | | | |
7. 意图判断、智能提示
操作 | 截图 | 说明 |
---|
iter | | 增强for循环 | fori | | 普通for循环 | fore | | forEach循环 | var | | 快速生成变量 | sout | 快速打印语句 | | soutv | 快速打印最近的变量 | | soutp | 打印所有参数 | | ifn | | 快速判空 | inn | | 非空判断 | surround | | Ctrl + Alt + T | format | | 字符串格式化 | Ctrl +Alt +P | | | 为接口和实现快速添加参数 | | | | | | | | | | | | | | | | | | | | | | | |
二、idea常用插件
1. Camel Case(驼峰命名,下划线等快速切换)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QCGBjQE9-1645495783852)(.\image-20220220210102454.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9R0hk01I-1645495783852)(.\image-20220220210139094.png)]
2. 阿里代码规范插件(代码规范约束)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SlsBwXJ2-1645495783853)(.\image-20220220211744673.png)]
3. 翻译插件
下载插件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fI5HNYgI-1645495783854)(.\image-20220221111222050.png)]
配置有道翻译
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l8lOXviM-1645495783854)(.\image-20220221111522241.png)]
翻译源码注释、或者单词
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5mYPz8p2-1645495783855)(.\image-20220221111738454.png)]
中英互译 编写类名
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3danjL4J-1645495783855)(.\image-20220221111433939.png)]
4. GenerateAllSetter(生成setXXX并且赋默认值)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wCwkOSu1-1645495783856)(.\image-20220220212747082.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-52xihLSK-1645495783856)(.\image-20220220212855300.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eDW50cAz-1645495783857)(.\image-20220220212939452.png)]
三、项目代码编写规范
(一)命名风格
- 类名使用
UpperCamelCase 风格,但以下情形例外:DO / BO / DTO / VO / AO / PO等。
? 正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion ? 反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion
-
方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase 风格,必须遵从驼峰形式。 正例: localValue / getHttpMessage() / inputUserId -
常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。正例: localValue / getHttpMessage() / inputUserId
? 正例:MAX_STOCK_COUNT
? 反例:MAX_COUNT
-
包名统一使用小写,包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。 正例:应用工具类包名为com.alibaba.ai.util、类名为MessageUtils -
为了达到代码自解释的目标,任何自定义编程元素在命名时,使用尽量完整的单词组合来表达其意。
? 正例:从远程仓库拉取代码的类命名为PullCodeFromRemoteRepository。 ? 反例:变量int a; 的随意命名方式。
-
接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁性,并加上有效的Javadoc注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,并且是整个应用的基础常量。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0rQCoDs3-1645495783858)(.\image-20220221140502778.png)]
配置模板
? [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LQe47lBZ-1645495783858)(.\image-20220221150533106.png)]
(二)OOP规约
- Object的equals方法容易抛空指针异常,应使用常量或确定有值的对象来调用equals。
? 正例:“test”.equals(object);
? 反例:object.equals(“test”);
? 1) 【强制】所有的POJO类属性必须使用包装数据类型。 ? 2) 【强制】RPC方法的返回值和参数必须使用包装数据类型。 ? 3) 【推荐】所有的局部变量使用基本数据类型。 反例:object.equals(“test”);
? 1) 【强制】所有的POJO类属性必须使用包装数据类型。 ? 2) 【强制】RPC方法的返回值和参数必须使用包装数据类型。 ? 3) 【推荐】所有的局部变量使用基本数据类型。
|