python重构函数_Python代码重构
代码重构是一件非常辛苦却非常有意义的事情,代码重构的原因在于:
1、代码过于冗余、沉余
2、代码过于耦合
3、代码过于复杂
4、接口调用超出三层
这次重构主要在于架构问题,自己没有画出实现整个项目的功能,逻辑实现与接口定义,就猴急猴急的写起的代码,之后发现写的代码很low,连自己都看不下去,最终走向重构之路!
这次重构也让我知道有一个好的架构,理解功能,想清楚功能实现的具体逻辑,接口定义的规范,还有很多很多....... so import!!!
本次重构项目是B/S架构,服务端为django+Python,这次重构过程中,先从功能的逻辑为出发点,编写具体的接口以及实现的逻辑,遇到问题有:
1、接口名称定义
2、逻辑如何实现,达到最优化
3、接口与接口之间的调用
重构后,代码比之前好多,没有那么凌乱,还是不够好,我想继续努力,那么就要清楚下一步需要什么?
1、代码设计
2、代码规范
3、代码命名
代码原则:
1、函数名称不能太长,(while/for/if)嵌套层次不要太深
2、函数名称声明尽量合理、简单,函数的参数不宜过多;例如函数名、函数的参数
3、一个函数只干一件事
11月份全力解决两件事:
1、学习且能够设计架构
2、代码设计规范
3、代码命名与参数
学习方式:
1、在GitHub上查找相关Python工程代码,仔细阅读工程代码结构
2、学习他们命名名称,自己学着练习
3、练习Python 常用模块
Python开发知识架构图(图片来源互联网)
python重构函数_Python代码重构相关推荐
- python代码重构技巧_Python代码重构
代码重构是一件很是辛苦却很是有意义的事情,代码重构的缘由在于:django 一.代码过于冗余.沉余架构 二.代码过于耦合函数 三.代码过于复杂学习 四.接口调用超出三层优化 此次重构主要在于架构问题, ...
- python agg函数_Python Pandas Series.agg()用法及代码示例
Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统. Pandas是其中的一种,使导入和分析数据更加容易. Pandas Series.agg()用 ...
- .NET重构—单元测试的代码重构
阅读目录: 1.开篇介绍 2.单元测试.测试用例代码重复问题(大量使用重复的Mock对象及测试数据) 2.1.单元测试的继承体系(利用超类来减少Mock对象的使用) 2.1.1.公用的MOCK对象: ...
- 系统重构的原则代码重构的原则
作者:[美]马丁•福勒(Martin Fowler) 译者:熊节, 林从羽 前一章所举的例子应该已经让你对重构有了一个良好的感觉.现在,我们应该回头看看重构的一些大原则. ##2.1 何谓重构 一线的 ...
- 【Java设计模式 规范与重构】 六 代码重构小结
最近趁着学习劲头足,如饥似渴的把代码重构部分也学习完了,可以说9月份属实非常充实,貌似也只有学习才能导致生活没有那么无聊. 代码重构博客目录 序号 文章列表 1 [Java设计模式 规范与重构] 一 ...
- python nums函数_Python函数
一.简介 函数是可重用的程序代码块.函数的作用,不仅可以实现代码的复用,更能实现代码的一致性.一致性指的是,只要修改函数的代码,则所有调用该函数的地方都能得到体现. 函数用关键字def来定义,def关 ...
- python编程函数_python编程中函数和参数你必须知道的
今天我们先聊少一点,就聊聊函数是什么和函数的参数,以及对这两个东西的思考 起源于抽象 在程序员写代码的时候,通常都会提到一个词叫抽象, 很多人都知道在面向对象中,将一个对象抽象为一个类,其实这就是我们 ...
- python not函数_python 函数
1 为什么使用函数 在没有接触函数时,有时候需要将一个功能多次写,如果需要修改其中一个变量,则需要把所有实现该功能的代码一处一处改.不利于代码维护,代码量大了,组织结构也会很不清晰. 所以总结不使用函 ...
- python include函数_python 库函数
python的内建函数和库函数的区别是什么? [区别]:标准库函数都需要import xxx才能取得.内建函数都在__builtins__里面,在global里直接就能用. [补充]:1.python ...
最新文章
- 华为linux笔记本开售,华为 MateBook D Linux 版明天开售 一种价格两种版本
- jQuery :nth-child前有无空格的区别
- 本周学习总结(ng-zorro/MDN索引/读书笔记)
- ASP.Net MVC 在ajax接收controller返回值为Json数据
- 蓝港CIO韩明顺谈零售数字化转型:面向体验、玩转数据
- 视频光端机常见故障问题及处理方法大全
- 霍尼韦尔dcs系统组态手册_DCS和PLC有“血缘关系”吗?
- c语言按位取反 补码,按位取反运算符,数值取反之后是反码,还是补码- -
- 1 操作系统安全加固
- php做一个微信退款,php实现微信支付之退款功能
- netbeans使用git_如何在我的NetBeans IDE中设置github存储库?
- 全球资产管理平台提供商:Charles River Development 应用
- 树莓派 安装谷歌拼音输入法(树莓派官方版系统、基于Debian)
- 有什么优质的计算机专业书籍?操作系统、计算机网络、计算机组成、数据结构、数据库.....
- SSM整合-内涵基本SSM开发基本结构框架
- 企业路由器和办公室局域网无线路由器设置
- ShareREC for iOS录屏原理解析
- 使用jQuery实现五星好评
- C语言位操作的神应用(位操作)
- 高并发下的幂等策略分析
热门文章
- 部署Dotnet Core应用到Kubernetes(一)
- 今天的你,又被带节奏了吗?
- 【Azure Show】|第三期 人工智能大咖与您分享!嘉宾陈海平胡浩陈堰平
- .NET Core3.0创建Worker Services
- 如何优雅地替换一个实现
- 你可以保持沉默,但你所说的一切都将成为呈堂证供——浅谈Azure WORM保护
- NetCore下模拟和使用Modbus工业通信协议
- .net core 上 K8S(三)Yaml文件运行.netcore程序
- ASP.NET Core 2.0利用MassTransit集成RabbitMQ
- [翻译]编写高性能 .NET 代码 第一章:工具介绍 -- Visual Studio