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开发知识架构图(图片来源互联网)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/291991.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows端口被占用处理方法

为什么80%的码农都做不了架构师?>>> 以下文章主要以80端口号为例,如果想知道其他的端口号也可以使用该方法..........................1、在windows下如何查看80端口占用情况?是被哪个进程占用?如何终止等. 这里主要是用到windows下…

22543!Windows 11 新预览版发布

面向 Dev 频道的 Windows 预览体验成员,微软现已发布 Windows 11 预览版 Build 22543。主要变化和修复1.Windows 11 锁屏界面新增媒体播放控件,该功能将始终使用深色主题。目前这项功能只对部分 Windows 预览体验成员推出,随着时间的推移&…

linux之安装软件出现Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)解决总结

1、问题 安装netmask出现的问题,如下图 2、解决办法 sudo rm -rf /var/lib/dpkg/locksudo rm -rf /var/cache/apt/archives/lock 如下图

关于网站地址解析到65.49.2.178的问题和解决方法

2014/1/21日从下午3点20点开始全球大量互联网域名的DNS解析出现问题,都指向65.49.2.178这个地址,我们下面拥有的服务器其中有一台也出现了这个问题,直接导致短信发送失败,手机信息推送也失败,支付通道出现问题无法完成支付,与第三…

我到底要选择一种什么样的生活方式,度过这一辈子呢:人生自由与职业发展方向(下)...

上篇,主要探讨了农民、工人、老板、官员等几种职业的一些特点。本篇,重点关注我对未来的预期和个人的选择。第1种选择选择一家或多家中小型公司,短期内专注技术,尤其是Java Web领域技术,不断加强对电商、互联网产品等都…

Sublime Text 的快捷方式的用法

2019独角兽企业重金招聘Python工程师标准>>> #1. 假设我们有一个div,内层有10个div,外层div有一个class的样式叫做row,内层div的样式叫做col-md-12。 那么咱们就可以快捷方式编写为: div.row>div.col-md-12*10然后我…

用户体验五要素_UX系列课(三):用户体验影响力金字塔及五大要素

编辑导语:作为一名UX设计师,要从用户的角度出发创造价值,怎么来衡量产品用户体验的标准?本文作者列出了一个“UX影响力金字塔”,分析影响用户体验的五大要素,我们一起来看一下。一、UX影响力金字塔在UX系列…

WPF 实现大转盘抽奖~

WPF开发者QQ群: 340500857由于微信群人数太多入群请添加小编微信号yanjinhuawechat 或 W_Feng_aiQ 邀请入群需备注WPF开发者 PS:有更好的方式欢迎推荐。接着上一篇圆形控件01—代码如下一、创建 PrizeItemControl.cs代码如下。using System; using Syste…

Android之在linux环境不通过TAG快速过滤日志

1、得到运行项目的进程id linux平台 adb shell ps | grep packageName widows平台 adb shell ps | findstr "packageName" 2、通过进程id过滤日志 adb logcat | grep 进程id 主要是因为容易忘记,这是最后一次纪录

小强系列之大话移动测试

百度搜索:小强测试品牌挨踢脱口秀,将技术娱乐化,碎片系统化,尽在荔枝FM(http://www.lizhi.fm/200893)作者:就是那个出视频的小强测试界风云变幻,移动测试火爆来袭,移动测…

如何隐晦地表达“滚”?

1 学到了!现在开始带薪难过(素材来源网络,侵删)▼2 实力演绎什么叫祸不单行(素材来源网络,侵删)▼3 报了驾校之后鞋子都不敢换了(素材来源网络,侵删)▼4 糊…

Beyond Compare中插入表格数据的教程

众所周知,Beyond Compare是目前市面上功能最强大的文件对比软件,也是类似软件中使用最广泛的一种,Beyond Compare支持文件夹对比,文本对比,表格对比,图片对比,注册表对比,Mp3对比。对…

python长度多少_用Python求最长子串长度快速版

哈喽大家好,周二也是令人愉快的一天啊,今天天气不错,坐在窗户旁边边晒太阳边写文章,再泡杯热茶,真是舒服美好,废话不多说,今天说一下Python求最长子串长度,希望对大家有作用&#xf…

EF Core 6 新功能汇总(二)

继上一篇之后,这一篇将给大家带来另外十个 EF Core 6 中的新功能特性,包括值转换器、脚手架和 DbContext 的改进等。1HasConversion 支持值转换器在 EF Core 6.0 中,HasConversion 方法的泛型重载方法可以指定内置或自定义的值转换器。public…

linux之lsusb命令和cd -命令使用总结

1、lsusb命令介绍 使用 lsusb 来列出 USB 设备和它的属性,lsusb 会显示驱动和内部连接到你系统的设备。直接在控制台输入 lsusb 即可 2、lsusb简单使用 在控制台输入 lsusb 效果如下 系统中同时使用了 USB 2.0 root hub 驱动和 USB 3.0 root hub 驱动。 bus 002 指明设备…

Fiddler (五) Mac下使用Fiddler

http://www.cnblogs.com/TankXiao/archive/2013/04/18/3027971.html Fiddler是用C#开发的。 所以Fiddler不能在Mac系统中运行。 没办法直接用Fiddler来截获MAC系统中的HTTP/HTTPS, Mac 用户怎么办呢? Fiddler可以允许“远程连接”。 我们可以利用这个间接来实…

她花了8个月让骗子爱上自己,然后把骗子引到警察局......

1 相信你一定可以的(素材来源网络,侵删)▼2 凤凰传奇的buff有多强?(via.段子楼,侵删)▼3 老板的名字实在太有味道了(素材来源网络,侵删)▼4 被微信骰子气死…

mysql配置-django

mysql配置-django (python) 数据库配置 像前面章节提到的 模版路径一样,数据库配置也是在Django的配置文件里,缺省 是 settings.py 。 打开这个文件并查找数据库配置: DATABASES {default: {ENGINE: django.db.backends.sqlite3,…

精彩回顾|2021 中国 .NET 开发者峰会

.NET Conf China 2021 是面向开发人员的社区峰会,基于 .NET Conf 2021,庆祝 .NET 6 的发布和回顾过去一年来 .NET 在中国的发展。峰会由来自北京、上海、苏州、深圳、武汉、广州、青岛、烟台、杭州等各地区的 .NET 技术社区共同发起举办,由微…