优雅写代码之《项目规范》-附加树状图生成

阿丹:

最近有一些小伙伴在跳槽之后接触到了新的项目小组,在讨论如何整理出漂亮的项目结构以及代码书写的时候,既然有小伙伴发问了,那当然就要一起学习,来!开卷!本文章只作为一个分享,要注意项目的结构风格不同的人各有千秋,精髓就是让其他人看得懂,在其他人阅读代码的时候能找得到。

代码分享:

有些小伙伴问我怎么快速的将一个项目的文件夹层级像下面的方式展示出来,甚至还有一些小伙伴一点点的手撸!惊呆了老铁!分享一个代码可以直接生成我们需要的树状文件。

首先要到目标文件夹下面

在标记的地方删除内容并输入cmd,回车就可以在当前目录下面唤出dos窗口。

请耐心学习下面简单的指令分享:

TREE指令生成树状图

Windows系统中的tree命令可以用来显示文件夹的树形结构图。它可以帮助用户更直观地查看文件夹及其子文件夹的组织方式。 以下是tree命令的一些常用参数:

  • /f:显示所有文件和子目录。
  • /a:显示隐藏文件和子目录。
  • /d:只显示目录名,不显示其下的子目录和文件。
  • /l:显示文件的大小。
  • /h:如果某个目录下的文件数目很多,则将其以千字节为单位进行统计显示。
  • /i:显示每个文件的索引节点编号。
  • /c:显示每个文件的完整路径。
  • /q:以紧凑形式显示文件名。
  • /w:指定树状图的宽度。
  • /t:指定树状图的深度。

使用tree命令的基本语法如下:

tree [drive:][path] [/F] [/A] [/D] [/L] [/H] [/I] [/C] [/Q] [/W] [/T]

要显示当前工作目录及其子目录的树状图,可以输入:

tree .

如果你想要显示其他位置的树状图,只需要将.替换为你想要查看的位置即可。 注意:默认情况下,tree命令会列出所有文件和子目录。如果你只想查看某个特定类型文件的树状图,可以使用通配符*来进行筛选。例如,要显示当前目录下所有的.txt文件的树状图,可以输入:

tree *.txt

可以通过重定向符号(>)将tree命令的结果写入到指定的文本文件中。例如,要将当前工作目录及其子目录的树状图写入到myfolder_tree.txt文件中,可以输入以下命令:

Kotlin 复制代码
tree . > myfolder_tree.txt

如果你想生成其他位置的树状图,只需将.替换为你想要查看的位置即可。例如,要生成C:\MyFolder目录及其子目录的树状图,并将其写入到myfolder_tree.txt文件中,可以输入以下命令:

Kotlin 复制代码
tree C:\MyFolder > myfolder_tree.txt

这样,tree命令的输出就会被保存到myfolder_tree.txt文件中了。

项目结构图:

└─com

└─adn

└─demo

└─{模块名,如user}

├─config 配置类

├─constant

│ └─enums 常量、枚举

├─component 自定义切面、过滤器、拦截器等

│ ├─annotation

│ ├─aspectj

│ ├─filter

│ └─interceptor

├─controller 控制层

├─model 所有的bean都放在这里

│ ├─convert 实体类之间的转化

│ ├─dto feign使用的实体类,DTO结尾 远程调用等

│ ├─bo service使用业务实体类 BO结尾

│ ├─vo 接口出入参数,http交互常用

│ │ ├─request

│ │ └─response

│ └─entity 实体类基本实体类

├─repository 数据库orm操作,接口定义等

│ ├─impl 接口实现

│ └─mapper mybatis的mapper接口,对应的xml文件放在resources资源目录下的mappers文件夹下

├─service 服务类

│ ├─manager 复杂业务逻辑,不用写接口,供service调用,禁止调用上层service

│ ├─handler 较复杂业务逻辑,不用写接口,供service、manager调用,禁止调用上层

│ ├─helper 简单业务逻辑,不用写接口,供service、manager、handler调用,禁止调用上层

│ ├─logic 最基本业务逻辑,不用写接口,供service、manager、handler、helper调用,禁止调用上层

│ └─impl 接口实现,如UserRepositoryImpl

└─extranal 外部feign接口

└─fallback feign的fallbackFactory

编码的结构规范主要就是在项目的通过解耦和封装的思想来将一定的结构和规范整合起来,达到在一个包下强耦合,在不同包下解耦的作用。

相关推荐
winkee1 小时前
在 git commit 中使用 gpg key 进行签名
架构·前端框架·代码规范
XiaoYu20025 小时前
22.JS高级-ES6之Symbol类型与Set、Map数据结构
前端·javascript·代码规范
yanlele20 小时前
前瞻 - 盘点 ES2025 已经定稿的语法规范
前端·javascript·代码规范
黄焖鸡能干四碗3 天前
【系统方案】智慧城市大数据平台建设方案(Word)
大数据·运维·需求分析·软件需求·设计规范
XiaoYu20023 天前
21.JS高级-ES6之模板字符串与剩余参数
前端·javascript·代码规范
拥有一颗学徒的心4 天前
设计模式——责任链模式
c++·设计模式·学习方法·责任链模式·设计规范
打码人的日常分享4 天前
【运维类资料集】实施运维方案(word)
java·开发语言·人工智能·集成测试·设计规范
Vinkan@5 天前
前端规范工程-2:JS代码规范(Prettier + ESLint)
前端·javascript·代码规范·前端工程
Vinkan@6 天前
前端规范工程-5:Git提交信息规范(commitlint + czg)
前端·git·代码规范·前端工程
Vinkan@7 天前
前端工程规范-3:CSS规范(Stylelint)
前端·css·代码规范·前端工程