资源描述:
《软件代码开发技术复习》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第1章基本的代码风格1.1换行的讲究1.1.1寻找最佳的断行位置l对于很长的条件表达式,通过在“ll”、“&&”运算符处换行,显得更加的清晰;l进行折行时,要将折行位置处的分隔符留在上一行的行末,给人以“此行并未结束”的直观印象;l选择整个表达式中最高的关系层次进行断行doublecontainerAspectRatio=(double)container.ClientWidth/container.ClientHeight;如果这样更好:doublecontainerAspectRatio=(double)container.ClientWid
2、th
3、container.ClientHeight;l按逻辑进行分行RectangleimageBounds=newRectangle(itemBounds.X+padding,itemBounds.Y+padding,itemBounds.Width-padding,2,itemBounds.Height-padding,2);1.1.2每行只写一条语句privatestaticvoidSwap(objecta,objectb){objecttemp;temp=a;a=b;b=temp;}1.1.3分行定义变量intnum,factor,ind
4、ex,length;的写法不妥分行有助于写注释://要计算的数值intnum;//表示影响因子intfactor;//元素所在的索引号intindex;//数据列表的总长intlength;或者:intnum,//要计算的数值factor,//表示影响因子index,//元素所在的索引号length;//数据列表的总长但考虑到移植性还是前者比较好。131.2避免代码过于拥挤1.2.1使用空行分隔代码块usingSystem;usingSystem.Collections.Generic;//这里用空行隔开namespaceAvilla{//下面的
5、内容略}1.2.2使用空格降低代码密度l单目运算符(UnaryOperators)与它的操作数之间应紧密相接,不需要空格。y=++x//++在这里是前缀单目运算,它与x之间无空格l在双目、三目运算符(Binary/TernaryOperators)的左右两侧分别添加空格。inta=3+5;//在双目运算符左右添加空格intb=a*6+7;intc=a&b;intd=b++*c--;inte=a>0?1:0;//在三目运算符左右添加空格l在函数调用时不添加空格,而在一些类似的带括号的语法结构中添加空格。stringcmd=string.Empty;
6、//函数形式的调用,括号前没有空格cmd=Console.ReadLine();//语句结构,括号前有空格If(cmd.Length>0)//if与括号之间有空格{Console.WriteLine(cmd.ToUpper());}else{Console.WriteLine(”(Empty)”);}1.3如何缩进所谓缩进(Indent),是通过在每一行的代码左端空出一部分空间,更加清晰地从外观上体现出程序的层次结构。intkmp_match(char[]t,char[]p,int[]flink,intn,intm){inti=0,j=0;Whi
7、le(iy){returnx;}else{returny;}}lC#使
8、用的大括号位置风格publicintMax(intx,inty){if(x>y){returnx;}else{returny;}}131.4.2空的复合体的大括号结构publicvoidUnusedMethod(){//TODO:未实现的方法}以下情况能避免则避免:If(table.Rows.Count==0){}Else//以下略具体怎么避免见PPT讲义P50publicclassPhotoCollection:IEnumerable,IEnumerable{internalPhotoCollection(){//空构造函数ß为了
9、避免将这个空函数当成是没有用的废弃函数,须特别加以说明}//其他类成员已省略}1.4.3仅包含单个语句的结构体if(day<1
10、
11、mon