我的建议是下载各种框架或引擎,并查看庞大的开发团队如何处理其文件夹布局。
组织文件的方式太多了,最好选择一个文件,并在任何给定的项目中坚持使用。遵守特定的约定,直到完成或改版,以避免错误和不必要的时间。
您可以为网络项目下载Laravel,Symphony或Codeigniter框架,以使即时文件夹布局有效。
因此,我将尝试传达任何开发通用的文件夹布局:
MVC(模型视图控制器)提供了良好的组织范例。
根源代码可以是src(C ++)或应用程序(Web开发)
如果文件结构对它所分组的类没有明确的目标,则肯定会引起混乱。它不仅可以组织代码,还可以支持自动加载器,类工厂,包装本地存储,远程存储和命名空间。
该文件夹结构是从Laravel Framework派生并简化的。我对这篇文章的偏好是复数命名,但是我在项目中使用单数词。
src / storage(模型/文件存储/ api / mysql / sql-lite / memcached / redis实现)
src / repositories(“存储实现”的包装,带有一些存储逻辑,一个公共接口和返回结果约定。)
src /服务| 逻辑| 实体 (应用程序业务逻辑)
src / controllers(用于Web开发以将服务器请求路由到您的服务)
src /模块| 系统(扩展框架常规功能的模块化系统。服务可以使用模块,反之则不能)
src / helpers(Helper或wrapper类,例如字符串操作。很多时候,第三方可能在libs | vendor上)
src / types(命名枚举)
公共| 建立 输出(Web或C ++)
config(安装文件。YAML在跨平台配置文件中变得越来越流行)
快取
日志
lang(en / es / ru / ...)
引导程序(启动框架和应用程序)
docs(以markdown格式.md编写的文档)
测试(单元测试)
数据库/迁移 (从头开始创建数据库结构)
数据库/种子(用虚拟数据填充数据库以进行测试)
库| 供应商(所有第三方软件。C++上的“ libs”,通常在php上的“ vendor”)
资产| 资源(图像/声音/脚本/ json /任何媒体)