美文网首页码农路上的踩坑之谈
果核后台重构中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项目结构

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