🔖 开发 Cheat Sheet
文档
- 写接口文档,把对接人当 SB 看待,一定要写的很详细,防止后续扯皮、甩锅。
- 文档后续变更,要同步 添加/更新 文档中的 变更记录,方便日后溯源。同时也方便自己迅速回忆。
客户沟通
在与客户沟通预期时几个原则:
- 一定要给客户选择权,永远不要说不,要有条件地说是。
- 降低期望的同时给予其他的补偿。
- 提高期望的同时附加更多的条件。
- 对于比较大的期望要分步骤达到客户的期望。
- 不要帮客户做决定,而是给客户提供尽可能多的选项,然后引导客户做决定。
Java
IntelliJ IDEA: 找不到符号
关键词:IntelliJ IDEA、lombok、maven
现象:build编译项目时,总是出现java:找不到符号这个错误提示,导致编译中断。
解决方案:settings -> Build,Exection,Deployment -> Compiler -> Shared build process VM options 输入框。
添加如下配置:-Djps.track.ap.dependencies=false
注释写法
备忘源码中注释样式的各种写法,提高注释水平。
- 列表
关键词:<ul></ul>、<li></li>
- 注释中包含代码
关键词:<pre></pre>、{@code}
- 注释继承
接口的实现类,使用{@inheritDoc}注解,在阅读模式下,显示接口方法中的注释。
- 直接引用变量值
关键词:{@value}
- package-info.java
pacakge-info.java是一个Java文件,可以添加到任何的Java源码包中。pacakge-info.java的目标是提供一个包级的文档说明或者是包级的注释。
如 spring-boot 源码中的示例:注意:在 IDEA 中spring-boot 源码中的注释 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22/*
* Copyright 2012-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Core Spring Boot classes.
*
* @see org.springframework.boot.SpringApplication
*/
package org.springframework.boot;package-info.java文件不能随便被创建,会出现This is not a valid Java qualified name错误,可以通过创建一个普通的文件来变相创建pacakge-info.java文件。
端口占用
macOS
sudo lsof -i tcp:8080查看8080端口被哪个程序占用sudo kill -9 PID杀掉指定进程
windows
- 打开cmd(命令行)
- netstat -ano|findstr 端口号
- taskkill /pid 进程号 /F
端口信息最后一列即进程号
遇到 kill 进程失败,可以使用第三方工具强制kill,例如:火绒-火绒剑
WebStorm
debug模式
项目正常启动后,按住 command + shift,然后点击local#url,自动开启debug模式。
注意:只对localhost地址有效,对Network地址无效。
Live Template
function
1 | function $NAME$(): $TYPE$ { |
箭头函数
1 | () => { |