zoukankan      html  css  js  c++  java
  • 工作效率:通过pycharm的模板代码减少重复工作

    摘要

    在常见的业务开发场景下,经常要开发大量重复的代码,这里代码耗时但又必要,就像我们写分析报告一样,每次都要为固定的格式耗费精力。我们可以更加日常开发经验总结出一些常用的模板代码来帮助我们实现一秒五行的代码开发效率。

    业务开发场景

    我使用Flask框架来开发后端api服务,以下是开发两个api需要实现的大致代码,需要在urls.py文件中注册路由连接和处理请求类,在views.py文件中实现处理请求类的具体执行逻辑。

    # urls.py::
    bp = Blueprint("api", __name__)
    
    bp.add_url_rule(
        "/courses/<string:course_id>",
        view_func=v.CourseDetailView.as_view("course_detail"),
        methods=["GET"],
    )
    
    bp.add_url_rule(
        "/courses/<string:course_id>/instruction",
        view_func=v.CourseInstructionView.as_view("course_instruction"),
        methods=["GET"],
    )
    
    
    # views.py::
    class CourseDetailView(MethodView):
        @swag_from_yml_file("users/course_detail_get.yml")
        @permission_required()
        def get(self, course_id):
            ...
            return Response()
    
    
    class CourseInstrauView(MethodView):
        @swag_from_yml_file("users/course_instruction_get.yml")
        @permission_required()
        def get(self, course_id):
            ...
            return Response()
    

    可以看到像注册路由的代码可以抽象为一个模板

    bp.add_url_rule(
        "$路由链接$",
        view_func=$处理方法类$.as_view("$别名$"),
        methods=["$支持请求类型$", ...]
    )
    

    处理方法实现的代码可以抽象为两个模板(因为一个处理方法类里可以处理多个请求,如:GET、POST)

    class $处理方法类名$View(MethodView):
        
    
    @swag_from_yml_file("$api文档路径$")
    @permission_required()
    def $请求方法$(self, $参数$):
        $业务逻辑$
        return Response()
    

    IDE开发工具pycharm的Live Template

    1. 使用快捷键command+,(mac) 或Ctrl+Alt+s(Windows)
      image
    2. 进入设置页面。在Editor栏搜索Live Templates
      image
    3. 新建Template Group,名字叫Python Flask
      image
    4. 在新的Group下新建模板regisbp
      这个模板是用来注册路由代码的
    """
    Abbreviation: regisbp
    Description: register blueprint
    Template text:
    """
    bp.add_url_rule(
        "$url$", view_func=$ViewName$View.as_view("$viewIdentify$"),methods=[$Methods$]
    )
    

    image
    需要注意,记得点这里
    image

    1. 在新的Group下新建模板viewClass
      这个模板用来声明处理方法类
    """
    Abbreviation: viewClass
    Description: create ViewClass
    Template text:
    """
    class $ViewName$View(MethodView):
    
    
    
    1. 在新的Group下新建模板viewMethod
    """
    Abbreviation: viewMethod
    Description: view method
    Template text:
    """
    @swag_from_yml_file("$doc_path$")
    @permission_required()
    def $method$(self, $args$):
        $code$
        return encoder.json_response($rv$)
    

    完成,之后开发需要时,只要输入regisbpviewClassviewMethod回车即可。
    image

  • 相关阅读:
    left join 多表关联查询
    Dictionary解析json,里面的数组放进list,并绑定到DataGridView指定列
    C#同一位置切换显示两个Panel内容
    C#点击按钮用DataGridView动态增加行、删除行,增加按钮列
    C#获取本机mac地址
    C# MD5加密
    C# SQLiteDataReader获得数据库指定字段的值
    linux下mongodb安装、服务器、客户端、备份、账户命令
    ubuntu下创建python的虚拟环境
    python多进程之间的通信:消息队列Queue
  • 原文地址:https://www.cnblogs.com/Zioyi/p/14002159.html
Copyright © 2011-2022 走看看