美文网首页码农路上的踩坑之谈
果核后台重构中Part1项目结构

果核后台重构中Part1项目结构

作者: Hansybx | 来源:发表于2019-07-11 22:56 被阅读1次

在一个平凡的下午,肥宅原接到了学长的电话,问我有没有兴趣接手他自己写过的APP,并且把它的后台重构以下。想到下学期没有一门能激奋人心的与计算机相关的课程,于是我就开开心心的接盘了 ╯-____-)╯~═╩═╩═。

说句实在话,接盘前自己真的十分慌张((*゜Д゜)ゞ”,毕竟寄几要对寄几有个清醒的认识啊!
而且,众所周知大公司的代码都和屎山是一样的,虽然这个小项目不会很复杂,但是再看到代码前,心情还是很复杂的,因为









学长说这是他们刚开始接触Flask的时候写的(o´_`o)・・・

我接盘的项目结构

第一眼看到这个项目结构的时候还有点小懵的,因为那个dao一看就是拼音,但是我是真的想不出来它是什么东西啊(๑ó﹏ò๑)
我个人不是很喜欢这样结构,因为视图函数我找了好久。。。而且个人觉得开头的三个包也是可以放在util下面的

七月老师的项目结构

他的项目结构就很清楚了,而且看他的包名也能大概知道都是做什么的,并且十分简洁优雅。

学长的一个项目结构

这个项目的结构就和七月老师结构很相像,毕竟看的是他的网课 [手动滑稽]。而且util下的每个util可能会有数量不等的文件所以基本上都放在了文件夹里。
而且与后两个结构相比,第一个就显得有些许繁琐,不是那么的简洁了。

项目结构模式

我也特意的去查找了下Flask的项目结构应当怎么写,大概分为下面几种。

单一模块

在许多Flask例子里,你会看到它们把所有的代码放到一个单一文件中,通常是app.py。对于一些微(写完就丢)项目来说这恰到好处,毕竟你只需要处理几个路由(route)并且只有百来行代码。(示例用的应用就是这样)

app.py
config.py
requirements.txt
static/
templates/

在这个例子中,应用逻辑部分会存放在app.py

当你开始在一个变得更加复杂的项目上工作时,单一模块就会造成严重的问题。 你需要为模型(model)和表单(form)定义多个类,而它们会跟你的路由和配置代码又吵又闹。所有的一切让你焦头烂额。 为了解决这个问题,我们得把应用中不同的组件分开到单独的、高内聚的一组模块 - 也即是包 - 之中

config.py
requirements.txt
run.py
instance/
  /config.py
yourapp/
  /__init__.py
  /views.py
  /models.py
  /forms.py
  /static/
  /templates/

这个结构允许你理智地整理你的应用的不同组件。 有关模型的类定义全待在models.py,而路由定义在views.py,有关表单的类定义全待在forms.py

最后我想放上Gayhub上几个比较火的项目和他们的主体项目结构。

996icu (雾)
nodejs
angular
TensorFlow

相关文章

  • 果核后台重构中Part1项目结构

    序 在一个平凡的下午,肥宅原接到了学长的电话,问我有没有兴趣接手他自己写过的APP,并且把它的后台重构以下。想到下...

  • 万字详解产品经理如何承接“重构/改版”需求

    近半年多以来一直在做重构的项目,从运营后台重构,到中台passport重构,最后换了家公司继续做纯C端的前台页面重...

  • vue+webpack项目中使用dev-server搭建虚拟服务

    在项目开发中,前后台分离,做了假数据,项目使用vue2.0重构,后台也推到重来了,为了不耽误开发进程,我做了虚拟的...

  • vue实现动态路由 前端控制

    公司最近重构之前的老项目,后台管理系统需要实现动态路由。 为什么要实现动态路由? 我们在开发后台管理系统的过程中,...

  • 果核后台重构中Part2BeautifulSoup的学习与使用

    起因 因为在获取教务网站的数据时,很多数据都是要求我们自己去抓取的,在这种情况下使用Python爬虫进行数据爬取成...

  • 五、重构项目结构

    在前面的几章内容中,我们已经实现了ts-axios的发送请求、处理请求、Promise化等操作,同时也处理错误的处...

  • 漫谈项目设计&重构&性能优化

    重构的好处: 重构能够改进软件设计,随着项目需求的变更,项目体积的变大早已与最初的设计大相径庭,代码结构变得凌乱、...

  • 一个@Asyn注解引起的问题

    1.出现的背景 在做Atlas项目结构重构时,原来的项目结构是一个模块的结构,如图1,如果项目越来越大时不好管理,...

  • 2018-08-26

    重构常用手法(一) 重构:使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。 重构的最终为了使项目达...

  • iOS 利用cocoapods进行本地组件化

    项目到了一定规模, 项目的代码组织和结构显得尤为重要. 重构项目结构, 可以从分离代码开始. 代码分离, 可以把常...

网友评论

    本文标题:果核后台重构中Part1项目结构

    本文链接:https://www.haomeiwen.com/subject/ksujkctx.html