-
TDD实践小结
所属栏目:[程序设计] 日期:2020-05-23 热度:116
所谓TDD,就是测试驱动开发。近期看了一些如何写代码的书,包括《修改代码的艺术》,《代码整洁之道》等,这些书都提到了TDD。 我记得几年以前在书店就开始看到关于极限编程的书,也偶尔听到测试驱动开发的概念。大体的思想就是在实现一个功能时,先写测试用[详细]
-
单元测试实践的主要问题与解决(3)
所属栏目:[程序设计] 日期:2020-05-23 热度:112
二、 单元测试实践的主要问题 单元测试有个特点:测试简单独立的代码很容易,但要在实际工作中做好单元测试却很困难。 根据我们的经验,企业在实施单元测试时,通常会面对四大问题—— 不愿做:程序员没有单元测试习惯。 没时间:编写测试代码需要耗费大量的[详细]
-
设计模式6大原则之里氏替换原则
所属栏目:[程序设计] 日期:2020-05-23 热度:72
里氏替换原则 定义: 所有引用基类的地方必须能透明地使用其子类的对象。 通俗点讲,只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何错误或异常,使用者可能根本就不需要知道是父类还是子类。 但是这里我们需要注意的是:有子类出现的地方[详细]
-
在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句
所属栏目:[程序设计] 日期:2020-05-23 热度:71
突然看到这个问题,脑袋一蒙,不知道啥意思,后来想想,试图把select里的选项放到后面,问题自然解决! 下面这个就是报“在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句”问题语句 select shipcountry,sum(shipvia) as totalvia,[详细]
-
倒置数组元素查找--时间复杂度O(lgn)
所属栏目:[程序设计] 日期:2020-05-23 热度:58
/** * * @author jiadongkai * @date Dec 2, 2011 * */public class BinSearch { /** * 有序数组[1,2,3,4,5] * 折半查找arr数组中num的index,不存在返回-1 * @param arr * @param num * @r[详细]
-
从企业的运行价值链说起——我眼中的测试驱动开发(TDD) 转
所属栏目:[程序设计] 日期:2020-05-23 热度:118
http://www.cnblogs.com/wayfarer/articles/89615.html 从企业的运行价值链说起——我眼中的测试驱动开发(TDD) 本周看了中央电视台的《对话》栏目,节目对三星CEO尹钟龙进行了访谈。其中,现场一位女士的一句话令我印象深刻。她提到一个企业的运行价值链,共[详细]
-
TDD实践之实用主义
所属栏目:[程序设计] 日期:2020-05-23 热度:145
打印 文章 我的书签 您没有收藏的内容 登录 或 注册 以永久保存书签。 该内容已经被标记书签! 标记书签错误,请重试! TDD实践之实用主义 作者 李光磊 发布于 2008年10月20日 领域 架构 设计, 过程 实践, 语言 开发 主题 敏捷 , 编程 , 敏捷技术 标签 测试[详细]
-
重提“依赖、关联、继承、实现”
所属栏目:[程序设计] 日期:2020-05-23 热度:95
依赖: 依赖就是一种使用关系。假设B类的变化引起了A类的变化,那么就说A类依赖于B类。反映到代码中就是A类的属性或方法中具有B类的特性。 依赖关系有以下三种情况: 1、 B类是A类(某种方法)的局部变量; 2、 B类是A类方法当中的一个参数; 3、 B类向A类发[详细]
-
解决ivy依赖支持maven claasifier问题
所属栏目:[程序设计] 日期:2020-05-23 热度:165
ivysettings.xml配置: ibiblio name=public m2compatible=true usepoms=truepattern=[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext] / ivy.xml配置详见: ivy-module[详细]
-
ARM位置无关代码设计规范
所属栏目:[程序设计] 日期:2020-05-23 热度:104
/*******************************************/ 参考:ARM的位置无关程序设计在bootloader中的应用.黄振华 /*******************************************/ 位置无关代码(PIC)在嵌入式系统设计中具有很重要的作用,尤其是在裸机状态下bootloader程序以及[详细]
-
链路聚合失败后的方案可行否
所属栏目:[程序设计] 日期:2020-05-23 热度:125
寻求各位大侠给点建议。该网络有8个分店。因距离较远,因此,无线连接到某大厦最高点,再无线传送到中心服务器。目前仅用1条54M无线与中心通讯,带宽感觉不够。需要同时使用2条54M无线。而8个分店间要能互访,且不影响2条无线的带宽,寻求各位给点参考。下有[详细]
-
组合“聚合”之浅见
所属栏目:[程序设计] 日期:2020-05-23 热度:168
组合和聚合是比较容易混淆的两个关系,二者有很大的相似性。其中聚合 指的是整体与部分的关系。通常在定义一个整体类后,再去分析这个整体类的组成结构。从而找出一些组成类,该整体类和组成类之间就形成了聚合关系。例如一个航母编队包括海空母舰、驱护舰艇[详细]
-
依赖注入之Ninject框架
所属栏目:[程序设计] 日期:2020-05-23 热度:79
这次要介绍的是一个非常不错的DI(即依赖注入)框架,就是Ninject,通过使用此框架,可以非常方便地实现DI。不过在介绍此框架之前,先让我们再来看看到底为什么要使用依赖注入和其具体实现吧。 请大家先看以下代码,我们先创建最基本的产品类,然后添加一个价格[详细]
-
依赖注入概念理解
所属栏目:[程序设计] 日期:2020-05-23 热度:131
对于Spring,从学校到现在算起来虽然将近使用了有两年,但对于“依赖注入”这一概念被猛然问起时,却不知做如何解释。幸运的是看到【spring框架,技术详解及使用指导.pdf】这本电子书上做的解释,感觉挺合理。这是文章中的原话 “从名字上理解,所谓依赖注入[详细]
-
Acyclic Dependencies Principle (ADP) – 无环依赖原则 -- (原则之七)
所属栏目:[程序设计] 日期:2020-05-23 热度:127
包之间的依赖结构必须是一个直接的无环图形,也就是说,在依赖结构中不允许出现环(循环依赖)。如果包的依赖形成了环状结构,怎么样打破这种循环依赖呢?有2种方法可以打破这种循环依赖关系:第一种方法是创建新的包,如果A、B、C形成环路依赖,那么把这些共[详细]
-
关于单一职责原则的一点理解
所属栏目:[程序设计] 日期:2020-05-23 热度:155
写这篇博文,是因为在论坛里看到了一篇有关这一话题的帖子,产生了一些想法,自知记忆力较差,便急切的想找到个地方记录下来,以便日后温故。 我所说的帖子的地址是http://topic.csdn.net/u/20110120/12/4ee6335d-247d-4c1f-8c9d-8d70f44ddaba.html 提问者提[详细]
-
UML类图中的几个关系:关联、组合、聚合、依赖关系比较
所属栏目:[程序设计] 日期:2020-05-23 热度:195
类之间的关系种类:Generalization(泛化),Dependency(依赖关系)、Association(关联关系)、Aggregation(聚合关系)、Composition(合成关系)。 其中Aggregation(聚合关系)、Composition(合成关系)属于Association(关联关系),是特殊的Association关联关系。Gen[详细]
-
Single Responsibility Principle (SRP) – 职责单一原则 --- (原则之五)
所属栏目:[程序设计] 日期:2020-05-23 热度:126
单一职责原则,其核心的思想是: 一个类,只做一件事,并把这件事做好,其只有一个引起它变化的原因 。单一职责原则可以看作是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。职责过多,可能引起它变[详细]
-
测试驱动开发到底好不好
所属栏目:[程序设计] 日期:2020-05-23 热度:159
很长时间没有自己写博客了,前两个月看了一些关于测试驱动开发(Test-Driven Development, 简称TDD)和敏捷软件开发(Agile Software Development)是否有用、是否一定得用的争论,很精彩,也很引人思考。尤其感谢酷壳网的站长陈皓先生将这些观点搜罗起来并[详细]
-
MVC前提之单一入口+例子
所属栏目:[程序设计] 日期:2020-05-23 热度:178
单一入口概述 单一入口的应用程序就是说用一个文件处理所有的HTTP请求,例如不管是列表页还是文章页,都是从浏览器访问index.php文件,这个文件就是这个应用程序的单一入口。 打个比方,大家都要上WC,都是男生进一个门,女生进一个门,这两个门就是WC的两个[详细]
-
依赖倒置(Dependency Inversion Priciple) -- (原则之四)
所属栏目:[程序设计] 日期:2020-05-23 热度:180
原来编程都是依赖于底层的实现,而现在呢我们要反过来,要“ 依赖抽象而不依赖具体 ”,其实还是接口编程,比如当我们在类中声明一个引用的变量时我们不直接使用他的具体类型,而是使用父类型或者抽象类型,还可以实现运行期动态绑定的效果,列:创建一个集合[详细]
-
关于项目依赖
所属栏目:[程序设计] 日期:2020-05-23 热度:98
在生成解决方案时,可能需要首先生成某些项目,以便生成由其他项目使用的可执行代码。使用“解决方案属性页”对话框-“通用属性”-“项目依赖项”设置当前生成顺序。若要访问此对话框,请在“解决方案资源管理器”中选择一个解决方案,选择“视图”菜单上的“[详细]
-
敏捷开发学习
所属栏目:[程序设计] 日期:2020-05-23 热度:51
敏捷开发核心的角色是“人”,是“笨人”开发软件的方法学。 敏捷开发的核心方法是,测试,重构,迭代。唯一的目的就是编写出高质量的源代码。测试,重构,迭代,都是围绕这一个目的展开。只是在不同的阶段,不同的情景下,侧重点不一样。 1、测试、重构、迭[详细]
-
BTE 处理取消 单一处理限制(客户伙伴系统限制)
所属栏目:[程序设计] 日期:2020-05-23 热度:122
SAP BTE处理类型的增强中有这么一个限制:系统默认一个处理只有一个函数起作用,即使多个配置也不行。如下图所示: 这个字段46c的值是: ECC 值的描述是: 但是系统的配置 bf05没有对这个字段控制: 可以做个维护试图将这个值维护下:[详细]
-
LSP The The Liskov Substitution Principle(里氏代换原则)
所属栏目:[程序设计] 日期:2020-05-23 热度:58
1什么是里氏代换原则 里氏代换原则是由麻省理工学院(MIT)计算机科学实验室的Liskov女士,在1987年的OOPSLA大会上发表的一篇文章《Data Abstraction and Hierarchy》里面提出来的,主要阐述了有关继承的一些原则,也就是什么时候应该使用继承,什么时候不应[详细]

浙公网安备 33038102330553号