.net 程序集自动生成版本号

作者:JerryXia | 发表于 , 阅读 (2,239)
一、 版本号自动生成方法只需把 AssemblyInfo.cs文件中的[assembly:AssemblyVersion("1.0.0.0")]改成[assembly:AssemblyVersion("1.0.*")],另外还需要把[assembly:AssemblyFileVersion("1.0.0.0")]注释屏蔽掉。这样再生成的程序集就是自动版本号了。按照这个格式出来的版本号,内部修订版本号(第三个字段)的位置出现的是2000年1月1日到编译日期的天数,内部修订号(第四个字段)是当... 阅读全文

2014年的早睡早起记录

作者:JerryXia | 发表于 , 阅读 (2,418)
2014年12月22日,今天正好是冬至,决定养成一些生活好习惯,从早睡早起开始。2014/12/22 22:40 上床睡觉,远离手机;第一天晚上很不适应,再加上很晚吃东西,翻来覆去睡不着。2014/12/23 06:35 起床;今天凌晨又多梦,基本上处于半梦半醒的状态。2014/12/24 0:42 睡觉,晚上跟同事们一起吃饭,搞到很晚。。。。2014/12/24 07:30 起床,好困2014/12/24 22:53 睡觉。2014/12/25 06:44 起床2014/12/25 22... 阅读全文

Effective C# 原则32:选择小而内聚的程序集

作者:JerryXia | 发表于 , 阅读 (1,865)
这一原则实际应该取这个名字:“应该创建大小合理而且包含少量公共类型的程序集”。但这太沉长了,所以就以我认为最常见的错误来命名:开发人员总是把所有的东西,除了厨房里水沟以外(译注:夸张说法,kitchensink可能是个口语词,没能查到是什么意思,所以就直译了。),都放到一个程序集。这不利于重用其中的组件,也不利于系统中小部份的更新。很多以二进制组件形式存在的小程序集可以让这些都变得简单。然而这个标题对于程序集的内聚来说也很醒目的。程序集的内聚性是指概念单元到单个组件的职责程度。聚合组件可以... 阅读全文

正确实现对象的浅拷贝和深拷贝

作者:JerryXia | 发表于 , 阅读 (2,070)
为对象创建副本的技术称为拷贝(也叫克隆)。我们将拷贝分为浅拷贝和深拷贝。浅拷贝 将对象中的所有字段复制到新的对象(副本)中。其中,值类型字段的值被复制到副本中,在副本中修改不会影响到源对象对应的值。而引用类型的字段被复制到副本中的是引用类型的引用,而不是引用的对象,在副本中对引用类型的字段值做修改会影响到源对象本身。深拷贝同样,将对象中的所有字段复制到新的对象中。不过,无论是对象的值类型字段,还是引用类型字段,都会被重新创建并赋值,对于副本的修改,不会影响到源对象本身。无论是浅拷贝还是深拷... 阅读全文

在添加事件处理程序事addEventListener和attachEvent主要有几个区别

作者:JerryXia | 发表于 , 阅读 (2,294)
在不同的浏览器下,添加和移除事件处理程序方式不相同,要想写出跨浏览器的事件处理程序,首先我们要了解不同的浏览器下处理事件处理程序的区别参数个数不相同,这个最直观,addEventListener有三个参数,attachEvent只有两个,attachEvent添加的事件处理程序只能发生在冒泡阶段,addEventListener第三个参数可以决定添加的事件处理程序是在捕获阶段还是冒泡阶段处理(我们一般为了浏览器兼容性都设置为冒泡阶段)第一个参数意义不同,addEventListener第一... 阅读全文

Effective C# 原则31:选择小而简单的函数

作者:JerryXia | 发表于 , 阅读 (1,969)
做为一个有经验的程序员,不管你在使用C#以前是习惯用什么语言的,我们综合了几个可以让你开发出有效代码的实际方法。有些时候,我们在先前的环境中所做的努力在.Net环境中却成了相反的。特别是在你试图手动去优化一些代码时尤其突出。你的这些行为往往会阻止JIT编译器进行最有效的优化。你的以性能为由的额外工作,实际上产生了更慢的代码。你最好还是以你最清楚的方法写代码,其它的让JIT编译器来做。最常见的一个例子就是预先优化,你创建一个很长很复杂的函数,本想用它来避免太多的函数调用,结果会导致很多问题。... 阅读全文

面向对象的理解

作者:JerryXia | 发表于 , 阅读 (1,944)
数据结构里面有个抽象数据类型(ADT)概念,是指一个数学模型以及定义在该模型上的一组操作。抽象数据类型的定义取决与它的一组逻辑特性,而与其在计算机内部如何表示和实现无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的使用。这让我想到了面向对象的程序设计,为了提高软件的重用率,在程序设计时要求在构成软件系统的每个相对独立的模块上,定义一组数据和施于这些数据上的一组操作(数据和行为),并在模块的内部给出这些数据的表示及其操作的细节,而在模块外部使用的只是抽象的数据及抽象的操作... 阅读全文