一个优秀的单元测试 Mocking 类库,需要具备如下几个特性: 易用性:有非常明确的 API ,易于使用并易于记忆. 健壮性:行为结果始终一致,并保持准确. 帮助性:当程序出错时,给出尽可能明确的原因提示. 如果我们所使用的类库没有满足上述条件,编写测试用例的过程将变得复杂和困难,使用类库不仅没有节省时间,反而可能使我们更加迷惑.在这种条件下,我们可能更愿意删除测试用例,之前的工作也就浪费了. 在 .NET 世界中,下面是一些框架或类库的比较: 目前主流的 Mocking 类库都会支持以下主要…
在多态的学习中,当子类继承父类时,子类中的变量哪些具备多态特性,哪些不具备多特特性. 代码: class Father{ public static int x=10; public int y=11; public Father(){ System.out.println("Father"); } public static void info(){ System.out.println("Father's static info method!"); } pub…
对方法进行性能监控,在方法调用时统计出方法执行时间. 原始做法:在内个方法的开头获取系统时间,然后在方法的结尾获取时间,最后把前后台两次分别获取的系统时间做一个减法,即可获取方法执行所消耗的总时间. 项目中大量的方法,如果对每个方法开头结尾都加上这些代码,工作量会很大.现在不用修改现有代码,在另一个地方做性能监控,AOP(Aspect Oriented Programming,面向方面编程)就是我们寻找的解决方案. 在AOP中,我们需要定义一个Aspect(切面)类来编写需要横切业务逻辑的代码,…
新特性: Modules:用XCode5新建工程默认支持modules编译,老项目需在Build Settings里查找modules,找到的Enable Modules选项设置为YES. 对应新增语法:@import,导入系统头文件,例如:@import MapKit;  或者库的部分头文件:@import UIKit.UIView; 优点:不需要再在Build Phases里的Link Binary With Libraries添加系统framework文件:缺点:不支持自定义或第三方库 新…
inline-block 特性: 1.块在一排显示 2.内联支持宽高 3.默认内容撑开宽度 4.标签之间的换行间隙被解析(问题)[相当字体大小的一半] 5.ie6 ie7不支持块属性标签的inline-block(问题)   float浮动: 1.块在一排显示 2.内联支持宽高 3.默认内容撑开宽度 4.脱离文档流 5.提升层级半层   position:relative;  相对定位 a.不影响元素本身的特性: b.不使元素脱离文档流: c.如果没有定位偏移量,对元素本身没有任何影响: 定位元…
优秀的Web开发人员工作效率更高,因为他们拥有丰富的经验和良好的习惯.作者Gregor Dorfbauer分享了用于Web开发中的8个好习惯,这些良好的工作习惯不仅能提高效率,还能让您创建更加优秀的应用,让您的工作事半功倍. 1.  使用Bug追踪系统 想要做好软件开发并非易事,这里面还包含大量的功能需求.Bug报告以及用户反馈的内容都值得我们好好去摸索.也许有的时候你会收到有关需求的要点列表邮件(如果幸运的话),再好不过了,因为用户愿意花时间来给你写邮件反馈信息,尽管这些邮件有的并不是真的有用…
近年来,IT产业对于高端技术人才需求加大,特别是北上广和知名企业对人才需求更为迫切,UI设计人员的正在接受UI培训的学员都赢认识到UI设计在未来要求将越来越高,交互设计越来越新颖也将对用户更加友好,兄弟连十年专注于IT培训,培养了大量优秀的UI设计师,下面为大家总结一下,UI设计师必须具备的素质. 1. 有规划的学习,分清主次,先熟悉了解UI的课程大纲,先掌握基础,再在原始基础上往深学,原则是了解全局,先易后难. 2. 培养养大的兴趣,不要三天打鱼,两天晒网,不管学什么都需要持之以恒,培养自己的…
前端网页设计+静态实现案例 放一个2天半内给某公司完成的(设计 + 静态实现)的案例吧,静态阴影用CSS3实现的http://www.cnblogs.com/MuYunyun/p/5693615.html,我最开始设计的时候就想好要用什么实现,各个框的大小是多少(精确到1像素),以及颜色搭配等等. 还有很多素材我就不演示了,设计了好些网页模板,如果有大家想用PS进行网页制作,欢迎大家交流. 很多人做前端只是掌握了最基本的切图(甚至连切图都有不会的),就连小小改动都要麻烦设计师,这就大大浪费了时间…
开发AOP框架 借鉴SpringAOP的风格,写一个基于切面注解的AOP框架.在进行下面的步骤之前,确保已经掌了动态代理技术. 定义切面注解 /** * 切面注解 */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface Aspect { /*注解*/ Class<? extends Annotation> value(); } 通过@Target(ElementType.TYPE)来设…
数据的存储(数据结构) 图形显示 功能:拓扑分析 开源的GIS系统:QGIS,SharpMap 各个功能组件…