- 军军小站|张军博客
搜索到与相关的文章
编程技术

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

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

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

编程技术

谈谈用例模型的那些事儿 之 用例图

——对用例模型及其应用的一次有益的探讨前言:这是一次对用例模型的探讨。怎样建立用例模型,怎样编写用例说明,它与需求规格说明书有什么区别,它能替代需求规格说明书吗?也许在这里可以找到你要的答案。进入软件业稍微久一点儿的人恐怕都不会陌生,软件开发的最初阶段都是谈需求、写需求规格说明书。需求规格说明书是与客户最终确认到纸上的,非常正式的公文。软件开发应当做什么,做成什么样子,什么东西不做,项目范围有多宽,需求规格说明书都是白纸黑字写得清清楚楚,谁都无法抵赖。所以

系统 2019-08-29 21:59:01 1838

编程技术

一堂如何提高代码质量的培训课 之 领域驱动设计

终于到了该说说领域驱动设计的时候了。我们在这场关于代码质量的讨论中,从代码可读性开始,讨论了代码复用性、设计模式,然后探讨了职责驱动设计。代码可读性是对代码质量最基本的要求,可惜我们仍有做得不够的(即使那些开发程序很多年的老程序员)。代码复用是提高代码质量的最初级阶段,但是在一个多人开发的项目团队中,围绕代码复用值得讨论的问题依然非常多,它依然是一个非常复杂的问题,甚至有时它不再仅仅是一个技术问题,而是一个管理问题。唉,提高代码质量的道理漫漫兮同志们要上下

系统 2019-08-29 21:58:55 1838

编程技术

向表中批量插入数据的SQL

建立一张表后,有时为了测试,需要向表中批量插入一些数据。如果纯手工插入,相信没有人会干。一下SQL语句可以完成批量数据插入的功能。建表脚本如下:CREATETABLEHELLO(IDVARCHAR2(64),NAMEVARCHAR2(64),AGEVARCHAR2(64));数据插入SQL如下:declarev_countnumber;beginv_count:=1;whilev_count<=10000loopinsertintohellovalues(

系统 2019-08-12 09:30:17 1838

编程技术

暴雪的哈希算法 -

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

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

编程技术

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

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

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

Python

python里运用私有属性和方法总结

如何在PYTHON里运用私有属性和方法classFile:def__init__(self,name):self.name=nameself.code="ABCDEF"file_A=File("file_A")#假设我们有一个类,叫做文件类,设置一个对象file_A。file_A.code#如果直接调用属性,是可以看到属性里面有什么,但是如果这是个机密的密码不能公布,是不能这么处理的。classFile:def__init__(self,name):sel

系统 2019-09-27 17:57:30 1837

Python

对python中的控制条件、循环和跳出详解

对python中的控制条件、循环和跳出详解代码缩进(代码块):python用缩进表示代码块,没有其他语言的大括号缩进是强制检查,整个代码缩进必须一致,否则无法运行用2、4个空格或者tab缩进ide自动保证缩进一致If、elif和else的条件分支:ifif...elseif...elif..else没有switch、case语法空的列表、元祖、字符串、0都被评估为FalseNone被评估为False控制条件后面必须加":"a=100ifa>80:print

系统 2019-09-27 17:57:17 1837

Python

Python:Scrapy爬虫简单使用

创建爬虫目录:scrapystartprojectspiderName调试命令scrapyshell网站名调试命令可直接进行css和xpath的调试;成功执行命令之后可使用:response.xpath(xpath表达式)获取所需的内容。xpath说明:XPath是一门在XML文档中查找信息的语言表达式描述实例nodename选取nodename节点的所有子节点//div/从根节点选取/div//不考虑位置选择节点//div.选取当前节点./div…选取当

系统 2019-09-27 17:56:45 1837

Python

python设置环境变量的作用和实例

Python的环境变量环境变量说明PYTHONSTARTUP在交互式启动时执行的文件(无默认值)PYTHONPATH‘:'-以默认模块搜索路径为前缀的分隔目录列表。结果是sys.path。PYTHONHOME交替的目录(或者:).默认的模块搜索路径为/pythonX.X.PYTHONCASEOK忽略import语句中的大小写(Windows)。PYTHONIOENCODING用于stdin/stdout/stderr中的编码PYTHONHASHSEED如果

系统 2019-09-27 17:56:35 1837