搜索到与相关的文章
编程技术

大话重构连载首页

《大话重构》这本书是我写的第一本书,从今天起我将通过连载的形式逐渐跟大家分享。这本书让你:告别游击队转变为正规军,远离劣质代码走向精妙设计真正明白专业级的软件开发是怎样的真正明白重构是怎样一步一步进行的高效重构七步曲,面对实践不卡壳让遗留系统维护不再是你的梦魇读完这本书以后:需求变更不再纠结,重构让你润物细无声地容纳它们超越代码级的重构,从各个层面深度领略重构之美自动化测试不再是梦想,重构让自动化测试走你重新审视熟悉而陌生的技术,将碎了一地的它们重新铆合在

系统 2019-08-29 21:59:06 1714

编程技术

大话重构连载17:抽取方法的实践

说了那么多理论,我们来看看怎样使用抽取方法来重构遗留系统。如前所述,重构的过程首先是阅读程序代码,边阅读边整理程序。将功能相对独立的代码段放在一起,在前面加上注释。调整一些程序的顺序,将相关的代码尽量放在一起,但要保证程序执行的结果不会发生改变。比较典型的,将变量的定义与使用变量的代码放在一起。这个步骤比较实用,因为许多的遗留系统,其代码都有一个坏毛病,就是在程序开始时定义一大堆变量,但要弄清这些变量都用来做什么,却十分困难。边读边调整,将变量的定义逐渐迁

系统 2019-08-29 21:59:02 1714

编程技术

样例UAR报告之一(Label带注释)

ExampleUAR:Aspect1—DateLabelisGood,ItSpeakstheUsers'LanguageOneaspectofthisinterfaceisthatitpresentstheday'sdateinstraightforwardlanguagethatisfamiliartousers.We'llwriteaUARtodocumentthisgoodaspectoftheinterfaceandusethisfirstexam

系统 2019-08-29 21:57:59 1714

编程技术

Hibernate关联学习之---多对多关联

有两个实Student和Course,他们之间的关系是多对多,在数据库上,为了满足3NF,会建立一个中间表Stu_Course来维护Student和Course之间的关系,在Hibernate中,则使用双向多对多来体现这种结构数据库脚本createtablestu(idvarchar(32)primarykey,namevarchar(32),cardidvarchar(32),ageint);createtablecourse(idvarchar(32)

系统 2019-08-12 09:30:38 1714

编程技术

暴雪的哈希算法 -

暴雪公司有个经典的字符串的hash公式先提一个简单的问题,假如有一个庞大的字符串数组,然后给你一个单独的字符串,让你从这个数组中查找是否有这个字符串并找到它,你会怎么做?有一个方法最简单,老老实实从头查到尾,一个一个比较,直到找到为止,我想只要学过程序设计的人都能把这样一个程序作出来,但要是有程序员把这样的程序交给用户,我只能用无语来评价,或许它真的能工作,但...也只能如此了。最合适的算法自然是使用HashTable(哈希表),先介绍介绍其中的基本知识,

系统 2019-08-12 09:30:13 1714

编程技术

算法分析之分治法学习总结(一)

算法分析之分治法学习总结(一)一)解决问题的类型:当我们要解决一个输入规模(n)很大的问题时,直接处理往往比较困难或者根本无法求解,我们希望把输入规模缩小,即分成很多份,分别解决了,并且这些小问题容易合起来从而解决整个问题。二)解题关键:1)如何分:我们往往先把输入分成两个与原来相同的子问题,如果规模还太大,我们对这些子问题再做上述处理,直到这些子问题容易解决为止.2)合并子问题:往往分治法的难点在于分完之后怎么合并.合并策略决定了算法的优劣,合并问题根据

系统 2019-08-12 09:30:06 1714

Python

python垃圾回收机制

python垃圾回收机制一、什么是垃圾回收机制?垃圾回收机制(简称GC)是Python解释器自带一种机制,专门用来回收不可用的变量值所占用的内存空间二、为什么要用垃圾回收机制?程序运行过程中会申请大量的内存空间,而对于一些无用的内存空间如果不及时清理的话会导致内存使用殆尽(内存溢出),导致程序崩溃,因此管理内存是一件重要且繁杂的事情,而python解释器自带的垃圾回收机制把程序员从繁杂的内存管理中解放出来。python采用的是引用计数机制为主,标记-清除和

系统 2019-09-27 17:57:11 1713

Python

Python3内置模块之Pickle和cPickle数据持久化方法小结

概述模块Pickle实现了对一个Python对象结构的二进制的序列化和反序列化。即当Python程序持续运行一些字符串、列表字典、甚至自定义的类等数据对象,需要持久化存储,即存储在磁盘中,防止运行在内存中,因断电等情况丢失数据。那么Pickle模块就派上用场了,它可以将对象转换为一种可以传输或存储的格式。python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过

系统 2019-09-27 17:56:58 1713

Python

python中几个常见的魔法方法

首先,什么是魔法方法呢?在python中方法名如果是xxxx()的,那么就有特殊的功能,因此叫做“魔法”方法。__init__()方法当一个实例被创建的时候调用的初始化方法,在创建对象时默认调用。__init__()方法中默认有一个参数名字为self,如果在创建对象时传递了2个参数,那么__init__()方法除了self作为第一个形参外还需要2个形参,例如__init__(self,x,y)。之前我们是这样给对象添加属性的:classStudent:pa

系统 2019-09-27 17:56:52 1713

Python

python基础语法

第一个Python程序交互式编程交互式编程不需要创建脚本文件,是通过Python解释器的交互模式进来编写代码。linux上你只需要在命令行中输入Python命令即可启动交互式编程,提示窗口如下:$pythonPython2.7.6(default,Sep92014,15:04:36)[GCC4.2.1CompatibleAppleLLVM6.0(clang-600.0.39)]ondarwinType“help”,“copyright”,“credits”

系统 2019-09-27 17:56:51 1713