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

最好不要用“局部变量”覆盖“字段”

从编码习惯和语法规范上讲,很多程序员喜欢使用一些简单的变量作为字段和局部变量。例如:id等等。这样以来,其实容易让程序显得混乱,特别是当局部变量和字段名称一样的情况下。面对这种问题,像Netbeans这样的IDE提出了警告提示,建议大家采纳。特别要注意:在这个时候IDE可能提示你删除这个局部变量,从大部分的程序逻辑来讲,这种轻率的删除可能会导致大量错误。所以请使用rename等重构方法。最好不要用“局部变量”覆盖“字段”

系统 2019-08-29 22:17:12 1830

编程技术

关于分页算法的详细说明

这种model1模式页面显示和分页的业务逻辑混合在一起.比较简单.但是代码可读性很差,而且不容易维护.在韩顺平SERVLET教程的第四讲中有明确的说明.晚上弄清楚算法,贴过来.需要4个参数pageSize-->用户指定pageNow-->用户选择rowCount-->从表中查询出来pageCount-->计算出来pageCount的计算方法if(rowCount%pageSize==0){pageCount=rowCount/pageSize;}else{

系统 2019-08-29 22:08:29 1830

编程技术

开发人员抵触代码审查的4个原因

据调查显示,代码审查工作有助于提高软件开发质量,然而许多开发者却不愿意在他们的团队中实施代码审查工作,本文主要分析了开发者为什么会抵制代码审查工作的原因以及为什么他们会有此想法,目的是为了引导开发者加入代码审查工作。代码审查究竟是什么样的工作呢?通常情况下它是指否决质量的一种过程。大量统计数据表明代码审查极大的提高了软件质量以及降低了技术风险,不仅如此,它还降低了开发成本。一起来看下代码审查工作所带来的好处:如图所示,代码审查工作带来这么多的益处,那为什么

系统 2019-08-29 22:01:04 1830

编程技术

大话重构连载15:采用Mock技术完成测试

第五次重构我们引入了数据库的设计,用户信息要从数据库中读取,问候语库存储在数据库中,并支持添加与更新。数据库的引入使自动化测试变得困难了,因为数据状态总是变化着的,而这种变化使得测试过程不能复现,这是我们不愿看到的。因此,我们在设计时将业务与数据库访问分离,形成了UserDao与GreetingRuleDao。此时,我们的设计应当遵从“依赖反转”原则,即将UserDao与GreetingRuleDao设计成接口,并编写它们的实现UserDaoImpl与Gr

系统 2019-08-29 21:59:03 1830

编程技术

一堂如何提高代码质量的培训课(2)

3.可变更性前面我提到了,软件的变更性是所有软件理论的核心,那么什么是软件的可变更性呢?按照现在的软件理论,客户对软件的需求时时刻刻在发生着变化。当软件设计好以后,为应对客户需求的变更而进行的代码修改,其所需要付出的代价,就是软件设计的可变更性。由于软件合理地设计,修改所付出的代价越小,则软件的可变更性越好,即代码设计的质量越高。一种非常理想的状态是,无论客户需求怎样变化,软件只需进行适当地修改就能够适应。但这之所以称之为理想状态,因为客户需求变化是有大有

系统 2019-08-29 21:58:57 1830

编程技术

springmvc3.2 demo

1:mvn构建一个web工程[img][/img]resources文件中定义系统资源文件包括applicationContext.xml和dispatcher-servlet.xml文件java文件中是.java文件static文件中包括cssimgjsconfig.properties文件jsp中主要包含系统个模块的试图文件tags是自定义标签文件tiles是模板文件login.jsp登陆页面2:pom.xml

系统 2019-08-12 09:30:24 1830

编程技术

Hibernate集合映射之List

使用List和Map有很多共性,比如说不能再1方设置inverse="true"不同的是,list可以保留元素的顺序,这个使通过一个idx字段来实现的,比如说Team和Student的1对多关系,我们给team加入学生的时候,需要记录加入的顺序,这时候我们可以使用list方式,并在student表中新增加一个idx字段(但在Student实体类中不定义idx属性)数据库结构:createtableteamList(idvarchar(32),teamnam

系统 2019-08-12 09:29:27 1830

Python

filter用法--Python

filter被称为高阶函数是有道理的。filter(self,/,*args,**kwargs)Docstring:filter(functionorNone,iterable)-->filterobjectReturnaniteratoryieldingthoseitemsofiterableforwhichfunction(item)istrue.IffunctionisNone,returntheitemsthataretrue.从Doc的简单描述可

系统 2019-09-27 17:56:08 1829

Python

python笔记3

阅读更多####if语句###cars=['audi','bmw','subaru','toyota']forcarincars:ifcar=='bmw':#==检查是否相等即相等时返回Ture,不相等时返回Flaseprint(car.upper())else:print(car.title())cars=['audi','bmw','subaru','toyota']forcarincars:ifcar!="bmw":#!=检查是否不相等即不相等时返回

系统 2019-09-27 17:54:53 1829

Python

python进阶_浅谈面向对象进阶

学了面向对象三大特性继承,多态,封装。今天我们看看面向对象的一些进阶内容,反射和一些类的内置函数。一、isinstance和issubclassclassFoo:passclassSon(Foo):passs=Son()#判断一个对象是不是这个类的对象,传两个参数(对象,类)print(isinstance(s,Son))print(isinstance(s,Foo))#type更精准print(type(s)isSon)print(type(s)isFo

系统 2019-09-27 17:54:00 1829