如何写出优雅漂亮的c代码_变量(一)

如何写出优雅漂亮的c代码_变量(一)作为一个参加工作近十年的 老鸟 也是从 菜鸟 阶段被 老鸟 虐过来

大家好,欢迎来到IT知识分享网。

作为一个参加工作近十年的“老鸟”,也是从“菜鸟”阶段被“老鸟”虐过来。最近这些年带了不少部门里面的新人,新人嘛难免缺乏经验,写出的代码难免有不合理之处,接下来本系列将介绍一些不合理的代码,以及如何优化。废话不多说,开撸。。。

1.变量声明及命名

c#是一门严谨的语言,他会对程序员的编写进行有力的强约束,绝无其它弱类型语言中“模棱两可的概念”。所以变量声明也要本着严谨的原则。

c#常用的命名规则

驼峰式命名方法(Camel-Case),共有两种方式。

(1)小驼峰命名法

第一个单词以小写字母开始,第二个单词的首写字母大写,如:firstName、studentId

(2)大驼峰命名法

每一个单词的首字母都大写,也成为Pascal命名法。如:FirstName、StudentId

例:

小驼峰

bool stopFlag = true; int mumAge = 40; string[] studentsArray = {"土跟","钢蛋","铁柱"}; 

大驼峰

public string GetName(); public void SetAge(); public void Select(); 

接下来我们谈谈如何取名,不要小看取名这是最、最、最重要的。

  1. 变量命名最重要的:见名知意

错误示范

public class Family { public string Name1="建国"; public int Age1= 54; public Sex sex1 = Sex.Male; public string Name2="雨姗"; public int Age2= 26; public Sex sex2 = Sex.Female; public string Name3="紫萱"; public int Age3= 2; public Sex sex3 = Sex.Female; } 
public class Family { public string FatherName="建国"; public int FatherAge= 54; public Sex FatherSex = Sex.Male; public string MotherName="雨姗"; public int MotherAge= 26; public Sex MotherSex = Sex.Female; public string DaughterName ="紫萱"; public int DaughterAge= 2; public Sex DaughterSex = Sex.Female; } 
  1. 不必执着于使用英文

取变量名是给程序员看的,编译器并不会在乎你用什么变量名,所以最重要的是人看得懂。

public class Plane { public string JinYi =string.Empty; public string FuYi =string.Empty; public string QianYuanJinYi =string.Empty; public string ShuiPinWeiYi =string.Empty; public string ChuiZhiWeiYi =string.Empty; public string WoShanFaDongJi =string.Empty; } 

相信大家都读的懂。

  1. 尽量避免缩写
//服务器地址 public string SevAds = "192.168.1.108"; //端口 public string prt = "80"; //写成这样是不更好些呢? public string ServerAddress = "192.168.1.108"; public string Port = "80"; //这个是我在实际工作中遇到过的情况 //功能1:购货单位首营登记 //功能2:供货单位首营登记 //相信没有人能说出他的英文翻译,公司的实习生懒得定义太长的变量名,于是: //购货单位首营登记 public void GHDWSYDJ(); //供货单位首营登记 public void GHDWSYDJ(); //what?一模一样?这就是缩写一大缺点之一。 //建议做法 public void GouHuoDanWeiShouYingDengJi(); public void GongHuoDanWeiShouYingDengJi(); //虽然名字很长,但是有良好的可读性 
  1. 中英文混合,坚决不予许
//发票冲红 public void InvoiceChongHong(Guid invoice); //发票冲红是中国的专用术语,也许很难翻译,可以考虑使用全拼,减少误会 public void FaPiaoChongHong(Guid invoice); 

2.想写出漂亮的代码也需要正确数据类型

 //错误做法 long tel = ; //这个错误应该很多人都不会再犯,大家都明白电话号码,long、int毫无意义 string tel = ""; //错误做法 string date="1991-02-10"; //这个错误依然很多人都不会再犯,新手级别。datatime处理时间要比string强大一万倍 DateTime date = DateTime.Parse("1991-02-10"); //0 1表示男女固然没错,但性别只有两个值,int有无数个值, //如果出现0 1以外的值则可能出现意外的错误。 //这么做虽然没有错误,但是有更好的办法 int sex = 0 //而枚举最试用这种情况。 Sex sex = Sex.Female; //错误做法 //no,no,no永远不要这么做 //guid如果声明为string如果涉及到比较的话,需要忽略大小写 //运算复杂不说,如果忘记忽略大小写,程序一定会遇到bug string id = "F2C1DA37-4E9B-4152-AD2B-BC8BCE"; //正确做法 Guid id = Guid.NewGuid(); //错误做法 double price = 10.5; float price = 10.5f; //正确做法 //c#中定义了货币类型,他的精度超过float,double,甚至不同其他类型自动转换, //微软做这些是为了安全考虑,double、float、decimal更多区别大家可以自行百度 decimal price = 10.5m; //错误做法 //虽然这么用毫无问题,但是难免大材小用。decimal只是为了作为货币类型。 decimal height = 1.72; //正确做法 double height = 1.72; //错误做法 //许多人为了方便将单个字符声明为string, //相比于string,char更为合适。string本质 //为char数组,自然单个字符生命为char效率更高 string a = "a"; string b = "b"; string c = "c"; string d = "d"; //正确做法 char a = 'a'; char b = 'b'; char c = 'c'; char d = 'd'; 

感谢大家花时间看我的文章,下期我们介绍如何写if else

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/105377.html

(0)
上一篇 2026-02-07 08:01
下一篇 2025-04-26 14:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信