2012年8月26日

The Elements of C# Style - Programming

摘要: 1.类型 1.1 使用内建C#数据类型别名 所有C#基本类型均有别名。例如,int是System.Int32的别名。 1.2 避免使用内联字面量 避免这样的代码 if(size > 45){...} 最好声明一个常量const int Limit = 45 ;...if(size > Limit){ //...} 1.3 避免不必要的值类型装箱 装箱(boxing)将值类型转换为引用类型的操作,例如object obj = 4 ; 拆箱(unboxing)是从引用类型向值类型的转换,例如int i = (int) obj ; 装箱和拆箱明显增加性能上的开销,所以尽可能避免重复的装. 阅读全文

posted @ 2012-08-26 16:33 lufangtao 阅读(600) 评论(0) 推荐(0) 编辑

The Elements of C# Style - Design

摘要: 1. 工程1.1 别怕做工程 不要试图用代码对包括了所有理论上可行的科学实现进行建模。写成有限制性的代码并非过错,只要你确信这些限制性不会影响产品系列的功用。1.2 简洁优于优雅1.3 了解重用的代价 重用是一种奇妙之物,增加依赖性和复杂度等代价也不可小视,这些代价有时足以抵消其助益。1.4 按约编程 方法时调用双飞之间的契约。契约要求调用者必须遵守方法前置条件,而方法也应返回满足与之相关的后置条件的结果。 在适当的公共方法中,应以异常和断言检查前置条件和后置条件。在方法开始处。其他代码执行前检查前置条件,在方法结尾处。方法返回前检查后置条件。 在从覆盖了超类方法的类派生新... 阅读全文

posted @ 2012-08-26 11:19 lufangtao 阅读(257) 评论(0) 推荐(0) 编辑

2012年8月25日

The Elements of C# Style - Documentation

摘要: 1. 一般原则 1.1 为使用接口的人编写软件接口文档 编写文档注释的首要目的是在服务的提供者(supplier)和客户(client)之间定义一种编码契约(programming contract)。与方法相关的文档应该描述该方法的调用者可依赖的行为的诸多方面,而不应该试图描述其实现细节。 1.2 为维护者编写代码实现文档 编写代码实现部分文档,好让别人可以维护和增强代码。总是假定会有完全不熟悉你的代码的人要阅读和理解你的代码。 1.3 为维护者编写代码实现文档 编写代码实现部分的文档,好让别人可以维护和增强代码。总是假定会有完全不熟悉你的代码的人要阅读和理解你的代码 1.4 保持... 阅读全文

posted @ 2012-08-25 10:52 lufangtao 阅读(273) 评论(0) 推荐(0) 编辑

2012年8月24日

The Elements of C# Style -Naming

摘要: 1.一般原则 1.1 使用有意义的名称 使用对阅读代码的人始终有意义的名称。例如:if (a < 65){ y = 65 - a ;}else { y = 0;}改为if( age < RetirementAge){ yearToRetirement = RetirementAge - age ;}else{yeaerToRetirement = 0;}本规则例外情况:当足以从上下文中判断出其目的时,可以用简约的方式命名临时变量,例如在循环内部作计数器或索引的变量:for ( int i = 0 ; i < numberOfStudents ; ++i){EnrllStude 阅读全文

posted @ 2012-08-24 16:05 lufangtao 阅读(250) 评论(0) 推荐(0) 编辑

2012年8月23日

The Elements of C# Style -General Principles

摘要: 1. Adhere to the Style of the OriginalDo not introduce a new coding style in a modification ,and do not attempt to rewrite the old software just to make it match the new style.2. Adhere to the principle of Least AstonishmentThe Principle of Least Astonishment suggests you should avoid doing things t 阅读全文

posted @ 2012-08-23 20:23 lufangtao 阅读(333) 评论(0) 推荐(0) 编辑

2012年8月14日

WPF学习:WPF概述

摘要: WPF(Windows Presentation Foundation) Windows演示基础。1.Windows 图形演化 众所周知,Windows利用User32和GDI/GDI+来穿件用户界面,但是,WPF的图形界面是以DirectX为基础的,DirectX可以理解高层次的元素,例如纹理和渐变,这些元素可以由显卡直接渲染,所以,DirectX效率很高,充分利用了显卡,大大减轻了CPU的负担,使CPU可以专心做其他事情。2.WPF的新特征 (1)类似Web的布局模型:利用特定坐标进行精确的界面布局 (2)丰富的绘图模型: (3)丰富的文本模型 (4)作为首要概念的动画 (5)支持音频和. 阅读全文

posted @ 2012-08-14 20:53 lufangtao 阅读(2517) 评论(0) 推荐(0) 编辑

2012年8月11日

WPF系列:GridView列绑定控件(二)

摘要: 上面的(一)中只是看明白了如何在GridView中添加控件,后面由于程序需要处理数据,那可定是要获得和设置GridView中控件的值了,下面就把我简单的程序写一下。 <telerik:RadGridView ShowGroupPanel="False" AutoGenerateColumns="False" x:Name="grd1" ItemsSource="{Binding Path=LstData, Mode=TwoWay}" SelectionMode="Extended" Row 阅读全文

posted @ 2012-08-11 22:40 lufangtao 阅读(6712) 评论(0) 推荐(0) 编辑

2012年8月10日

WPF系列:GridView列绑定控件(一)

摘要: 最近,在WPF方面的UI设计,设计很多控件的绑定和布局,因为刚开始学习,所以,有很多东西不是很懂,一边在网上搜,一边试着做,因为设计到在GridView中绑定控件,所有,在网上搜了搜,看了一篇很好的帖子,自己学着做了做,现在就总结一个WPF中如何在GridView中列中绑定其他的控件。为了增加效果,在WPF项目中用到了一个第三方的控件telerik,后面附加上相关的dll引用,在WPF项目中自己添加到自己的项目中就可以使用了。 首先,贴出我绑定后的GirdView的效果图: 由于采用了telerik:StyleManager.Theme="Windows7"风格,所有可能看 阅读全文

posted @ 2012-08-10 14:32 lufangtao 阅读(24298) 评论(3) 推荐(2) 编辑

2012年6月7日

浅谈CLR

摘要: 1.什么是CLR CLR(Common Language Runtime)公共语言远行时,是一个可由多种编程语言使用的“远行时”。CLR的核心功能(比如内存管理、程序集加载、安全性、异常处理和线程同步)可由面向CLR的所有语言使用。CLR不关心开发人员使用哪种语言进行编程,只要编译器面向CLR就可以了,所有,开发人员应该使用自己最适合和熟悉的语言进行编程。所有的编程语言在面向CLR编译器的编译都生成了一个托管模块。托管模块是一个标准的32位的Microsoft Windows可移植执行体(PE32)文件,或者是一个标准的64位Windows可移植的PE32+文件,他们都需要CLR才能执行。2. 阅读全文

posted @ 2012-06-07 19:55 lufangtao 阅读(18663) 评论(0) 推荐(3) 编辑

2012年6月4日

堆排序

摘要: 排序描述:输入:n个数的序列<a1,a2,…,an>输出:输入序列的一个重排<a’1,a’2,…,a’n>,使得, a’1≤a’2,≤。。。≤a’n排序算法中一大类是比较排序,下面我就总结一下比较排序:1.堆的概念和堆的性质堆:是一个完全二叉树,除了最后一层外,其他层都是填满的。如果用一个数组表示一个堆,需要两个性质:length[A]和heap-size[A]。length[A]表示数组A的总长度,heap-size[A]表示数组中堆元素的个数。树根为A[1],树中节点i有如下性质:Parent(i)return i/2;Left(i)return 2*I;Right 阅读全文

posted @ 2012-06-04 21:57 lufangtao 阅读(446) 评论(0) 推荐(0) 编辑

导航