🔖 开发 Cheat Sheet

文档

  • 写接口文档,把对接人当 SB 看待,一定要写的很详细,防止后续扯皮、甩锅。
  • 文档后续变更,要同步 添加/更新 文档中的 变更记录,方便日后溯源。同时也方便自己迅速回忆。

客户沟通

在与客户沟通预期时几个原则:

  1. 一定要给客户选择权,永远不要说不,要有条件地说是。
  2. 降低期望的同时给予其他的补偿。
  3. 提高期望的同时附加更多的条件。
  4. 对于比较大的期望要分步骤达到客户的期望。
  5. 不要帮客户做决定,而是给客户提供尽可能多的选项,然后引导客户做决定。
客户沟通

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} 注解,在阅读模式下,显示接口方法中的注释。
    inheritDoc注解

  • 直接引用变量值
    关键词:{@value}

  • package-info.java
    pacakge-info.java 是一个Java文件,可以添加到任何的Java源码包中。pacakge-info.java 的目标是提供一个包级的文档说明或者是包级的注释。
    如 spring-boot 源码中的示例:
    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;
    注意:在 IDEA 中 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
2
3
function $NAME$(): $TYPE$ {
$end$
}

箭头函数

webStorm箭头函数
1
2
3
() => {
$end$
}