【若想成为一个合格的程序员,首先写出的代码是需要满足规范的,但若想成为一个有经验的程序猿,那么你写出的代码就需要简单和富有表现力】代码是程序猿与计算机之间的语言。说起语言,就犹如大伙学习写作文那会,初期喜欢用一些华丽的言辞来修饰,而文坛大咖们的文章,往往言辞朴实而又不失感染力。同样,有经验的程序猿,他的代码应该上升到一个高度,有着返璞归真的质朴感。思诚现在抛砖引玉的举一些小例子,让大家思考从哪些方面改善自己的代码。
方法/步骤
11.用代码阐述代替注释反例:/// /// !@#$%^&^&*((!@#$%^&^&*((!@#$%^&^&*((!@#$%^&^&*((/// /// public decimal GetCash() { //!@#$%^&^&*((!@#$%^&^&*(( var a = new List() { 2m, 3m, 10m }; var b = 2; var c = 0m; //!@#$%^&^&*((!@#$%^&^&*((!@#$%^&^&*(( foreach (var p in a) { c += p*b; } return c; }优化后:public decimal CalculateTotalCash(){ var prices=new List(){2m,3m,10m}; var itemCount = 2; return prices.Sum(p => p*itemCount);}注释,是在别的程序猿看不懂代码的情况下使用,尽量让你的代码命名能代替注释吧。
22. 为布尔变量赋值反例:public bool IsAdult(int age){ bool isAdult; if (age > 18) { isAdult = true; } else { isAdult = false; } return isAdult;}优化后:public bool IsAdult(int age){ var isAdult = age > 18; return isAdult;}
33.双重否定的条件判断反例:if (!isNotRemeberMe){ }优化后:if (isRemeberMe){ }你不理解双重否定不要紧,你总知道负负得正吧
44.拒绝HardCode,拒绝挖坑反例:if (carName == 'Nissan') { }优化后:if (car == Car.Nissan){ }让错误发生的编译阶段,你能更好的发现问题
55.拒绝魔数反例:if (age > 18){ }优化后:const int adultAge = 18; if (age > adultAge){ }所谓魔数(Magic number)就是一个魔法数字,它没有单位,每当你看到这个数字时都不了解这是什么。这个现象很常见,最好的就是给它一个值,然后替代。
注意事项