work 项目

内容管理

  • 入职项目环境搭建
  • 商用项目 和 学习项目
  • 经验分享

easily 分享work 见解


学习项目(非商用)相比工作中的商用项目差别还是很大的…

Cfeng 最近开始工作, 接下来我将分享一下对于学校中的project环境和 work环境的相关理解

入职项目环境搭建

这个过程应该非常迅速,当组装好电脑后,直接去Oracle官网把jdk 给下载,配置环境变量即可(环境变量的目的只是为了不需要专门进入bin目录来执行命令); 再去mysql官网把mysql下载,配置环境变量…

  1. 下载JDK, 一般JDK8版本使用广泛,配置环境变量
  2. 下载GIT,直接下一个exe安装程序,一路next,观察环境变量是否正常
  3. 下载Maven(广泛使用的包管理工具), 配置环境变量
  4. 下载MySQL, 把server、workbench 等一次性都下载
  5. 下载IDEA,直接去jetbrains官网下载安装即可
  6. 其他的工具按需安装: 比如postMan、Draw.io

这个过程应该很快,但是下载速度从官网可能有时候很慢, 所以Cfeng总结一个更快的方式:

将所有的工具的安装程序exe或者安装zip上传到个人云, 到一个全新的环境中,可以直接进入个人云拉取安装包, 迅速操作,配置下环境变量即可

安装环境,通过git 拉取项目代码, 进入IDEA直接运行, 此过程 需要做的就是获取hub权限 和 配置公司的 maven依赖库, 正常情况下,就可以运行成功了…

商用项目 和 学习项目

学校或者网上的学习项目 的目的只是为了能够 保证 项目的基本使用, 很多细节因为没有细致的测试,是没有考虑那么清楚的,并且相对商业项目的重要特点: 简单… 业务逻辑几乎没有, 表数量少, 结构简单

因此当Cfeng 第一次看到公司项目时, 确实感受到差距, 因为商用项目是面向具体需求的,数据库表针对的就是业务中各种各样的逻辑

Cfeng 所接触的项目表有上百张,核心大表当然就要少一些, 后台也是分为许许多多的模块,当然结构很清晰,学习项目因为逻辑简单就没有划分过多的模块,一个Service中的代码量也是500行以上, 纷繁复杂的类,这个时候的方法就是避重就轻了

经验分享

面对一个有上百张数据库表,数十个模块 的经历过很多次迭代的成熟项目,梳理项目的方式:

  1. 首先作为一个用户去使用产品,从使用者的角度,从公开的介绍来了解项目的核心功能, 整体上有一个印象
  2. 查看项目的架构说明书, 对于产品架构方面介绍,了解技术栈,部署方式,整体的ER图…
  3. 查看数据库表的说明,log一般是日志,statistics为统计量,relation为关系,flow为流水, copy为备份, 排除之后再去查看核心的数据库表
  4. 项目跑起来之后,如果有swagger之类的接口文档,可以直接打开接口文档查看该模块的所有的接口,对照着前台的相关的功能查看
  5. IDEA中可以方便的查看各种Diagram, 查看代码先查看核心模块

了解整体的流程之后,可以再查看代码风格(设计模式…)