在所有关于软件维护的故事中,功能的扩展是一个永恒的话题。正因为软件系统需要功能的扩展,需要新功能的加入,才使我们的编程需要那么多的设计。可以说,正是因为新功能的扩展,使得原有的系统质量下降;正是因为软件质量的下降,才使我们需要进行深入的分析与研究,制订设计原则,总结设计模式;正是因为要解决软件质量下降的问题,经过一番艰苦卓绝的摸索过程,我们才认识到系统重构才是解决该问题的最佳方案。然而,事情总是这样的,每个系统当我们进行初次的设计时,设计思路、程序结构总是
系统 2019-08-29 21:59:08 2219
说了那么多理论,我们来看看怎样使用抽取方法来重构遗留系统。如前所述,重构的过程首先是阅读程序代码,边阅读边整理程序。将功能相对独立的代码段放在一起,在前面加上注释。调整一些程序的顺序,将相关的代码尽量放在一起,但要保证程序执行的结果不会发生改变。比较典型的,将变量的定义与使用变量的代码放在一起。这个步骤比较实用,因为许多的遗留系统,其代码都有一个坏毛病,就是在程序开始时定义一大堆变量,但要弄清这些变量都用来做什么,却十分困难。边读边调整,将变量的定义逐渐迁
系统 2019-08-29 21:59:02 2219
这篇文章是我从360doc上转的,本来是要把转的url列出来的,但是它们居然禁掉了复制,而且禁复制的js在放服务器端,害得我白看了那么多源代码,所以我不把url打出来了,对于这样的做法最简单的就是把网线一断,天下太平了.尽情得复制去吧,哈哈1.*.pro文件相信学习过QT的同志们,应该自己写了一个最简单的Hello程序。同时也就开始使用了一个命令:qmake–project。这个命令是用来生成QT的工程文件(.pro)的,这个文件是用来设置编译或者链接的变
系统 2019-08-12 09:30:08 2219
1概述1.1什么是捕获组捕获组就是把正则表达式中子表达式匹配的内容,保存到内存中以数字编号或显式命名的组里,方便后面引用。当然,这种引用既可以是在正则表达式内部,也可以是在正则表达式外部。捕获组有两种形式,一种是普通捕获组,另一种是命名捕获组,通常所说的捕获组指的是普通捕获组。语法如下:普通捕获组:(Expression)命名捕获组:(?Expression)普通捕获组在大多数支持正则表达式的语言或工具中都是支持的,而命名捕获组目前只有.NET
系统 2019-08-12 09:29:52 2219
下载地址:http://download.csdn.net/source/564144有问题请跟帖简体:在项目中加入附件中的DevExpress.Localization.v8.2.dll引用winform:在MDIMainForm的FormLoad事件中加入以下sourceswebform:Default.aspx的Page_Load事件中加入以下sourcesDevExpress.Web.ASPxClasses.Localization.ASPxper
系统 2019-08-12 09:27:41 2219
根据讲师所讲做了一下笔记以便自己能方便学习:------------------------------------------grasp设计模式;grasp(generalresponsibilityassignmentsoftwarepatterns:通用职责分配软件模式)模式相对于gof23模式更加抽象,它的核心思想:职责如何分配和如何用用职责设计对象;它的五个基本模式:---信息专家、创建者、高内聚、低耦合、控制器;四个扩展模式;---多态性、纯虚
系统 2019-08-12 01:33:35 2219
指路牌《FlaskWeb开发》《FlaskWeb开发基于Python的Web应用开发实战》《FlaskWeb开发》是否适合新手入门PythonWeb开发?正文《FlaskWeb开发基于Python的Web应用开发实战》,O'Reilly"动物书系列"的"狗书",应该是很多Flask初学者被推荐使用的入门书,但是这本书真的适合初学者吗?Python的Web框架非常多,例如Django、Flask、Tornado、Web.py,Tornado没有接触过,无法评
系统 2019-09-27 17:56:19 2218
代码importpsutilprint(dir(psutil))#查看逻辑cpu的个数print(psutil.cpu_count())#查看物理cpu的个数print(psutil.cpu_count(logical=False))#查看cpu的用户时间,系统时间,空闲时间,中断时间print(psutil.cpu_times())#统计每个cpu的使用率print(psutil.cpu_percent(interval=2,percpu=True))#
系统 2019-09-27 17:56:18 2218
student=[]defprint_menu():print("学生管理系统V2.0")print("="*30)print("1.添加学生基本信息")print("2.通过学号删除学生信息")print("3.显示全部学生信息")print("4.通过姓名查找学生的信息")print("5.通过学号修改学生信息")print("6.导出学生基本信息到指定路径的文件中")print("7.查询成绩最高的学生基本信息")print("8.查询成绩最低的学生
系统 2019-09-27 17:56:15 2218
今天给大家出一个关于Python爬虫面试题的总结,相对于来说出现频率比较高的一些!1.为什么requests请求需要带上header?原因是:模拟浏览器,欺骗服务器,获取和浏览器一致的内容header的形式:字典headers={"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.99Safari/537.
系统 2019-09-27 17:56:15 2218