# 从语言到项目：看文件管理方式的改变

- Link: https://www.ixiqin.com/2020/11/02/from-language-to-the-project-file-management-way-of-change/
- Published: 2020-11-02T23:20:49+08:00
- Author: 白宦成

文章目录

 [Toggle](https://www.ixiqin.com/2020/11/02/from-language-to-the-project-file-management-way-of-change/#)

 * [从语言入手](https://www.ixiqin.com/2020/11/02/from-language-to-the-project-file-management-way-of-change/#%e4%bb%8e%e8%af%ad%e8%a8%80%e5%85%a5%e6%89%8b)
 * [转换为项目实现](https://www.ixiqin.com/2020/11/02/from-language-to-the-project-file-management-way-of-change/#%e8%bd%ac%e6%8d%a2%e4%b8%ba%e9%a1%b9%e7%9b%ae%e5%ae%9e%e7%8e%b0)
 * [总结](https://www.ixiqin.com/2020/11/02/from-language-to-the-project-file-management-way-of-change/#%e6%80%bb%e7%bb%93)

我昨天对 macOS 进行了重装，因此，不少的文件发生了改变，借此机会，谈一下新的系统下，
我是如何管理我的文件的。

## 从语言入手

在我的根目录下，又一个文件夹 Developer，其下以语言为基础，分了多个不同的语言和文件
夹，在不同的语言文件夹下面，则是对应的项目。

    ```javascript
     ~/Developer/ tree -d -L 1
    .
    ├── ebook
    ├── frontend
    ├── golang
    ├── hexo
    ├── minapp
    └── php
    Code language: JavaScript (javascript)
    ```

这样的组织简洁明了，但遇到的问题是，当你要处理一个相对复杂的项目的时候，就会出现
难以管理的问题。因为你的一个项目中的多个文件夹会分布在不同的文件夹下。

因此，在新的文件夹管理方式中，我引入了项目的概念。

## 转换为项目实现

在新的目录组织方式下，我在根目录放置了两个文件夹,分别是 **Developer** 和 **Projects**

    ```php
     ~/ tree -d -L 1
    .
    ├── Developer
    ├── Projects
    └── Public
    Code language: PHP (php)
    ```

Developer 文件夹和之前的项目没有区别，依然是基于语言 + 基于文件夹。不同的是，我在
Projects 中，以项目为基准，建立文件夹。

    ```javascript
     ~/Projects/ tree
    .
    ├── project1
    │   └── minapp-for-client -> /Users/bestony/Developer/minapp/project1
    └── projce2
        ├── main -> /Users/bestony/Developer/golang/src/projec2
        └── ops-config -> /Users/bestony/Developer/golang/src/project3
    Code language: JavaScript (javascript)
    ```

这样我就可以将一个项目的文件放置在一个文件夹下进行操作。

具体的操作是这样的：

 1. 在 Projects 下建立项目文件夹
 2. 进入到项目文件夹
 3. 使用软链接的方式，建立目标文件夹的快捷方式

这样的好处是，当我进行项目研发的时候，可以直接进入到 projects 目录，在相应目录根据
需要进入到特定的文件夹。方便快捷。

## 总结

从语言到项目，表现出所专注的项目的复杂度不断提升，于此同时，相应的管理方案也需要
跟着调整，以适应相应的变化。
