您的位置首页百科知识

代码怎么写才看起来是有经验的程序员

代码怎么写才看起来是有经验的程序员

的有关信息介绍如下:

代码怎么写才看起来是有经验的程序员

【若想成为一个合格的程序员,首先写出的代码是需要满足规范的,但若想成为一个有经验的程序猿,那么你写出的代码就需要简单和富有表现力】

代码是程序猿与计算机之间的语言。说起语言,就犹如大伙学习写作文那会,初期喜欢用一些华丽的言辞来修饰,而文坛大咖们的文章,往往言辞朴实而又不失感染力。同样,有经验的程序猿,他的代码应该上升到一个高度,有着返璞归真的质朴感。

思诚现在抛砖引玉的举一些小例子,让大家思考从哪些方面改善自己的代码。

1.用代码阐述代替注释

反例:

///

/// !@#$%^&^&*((!@#$%^&^&*((!@#$%^&^&*((!@#$%^&^&*((

///

///

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);

}

注释,是在别的程序猿看不懂代码的情况下使用,尽量让你的代码命名能代替注释吧。

2. 为布尔变量赋值

反例:

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;

}

3.双重否定的条件判断

反例:

if (!isNotRemeberMe)

{

}

优化后:

if (isRemeberMe)

{

}

你不理解双重否定不要紧,你总知道负负得正吧

4.拒绝HardCode,拒绝挖坑

反例:

if (carName == "Nissan")

{

}

优化后:

if (car == Car.Nissan)

{

}

让错误发生的编译阶段,你能更好的发现问题

5.拒绝魔数

反例:

if (age > 18)

{

}

优化后:

const int adultAge = 18;

if (age > adultAge)

{

}

所谓魔数(Magic number)就是一个魔法数字,它没有单位,每当你看到这个数字时都不了解这是什么。这个现象很常见,最好的就是给它一个值,然后替代。

6.复杂的条件判断

反例:

if (job.JobState == JobState.New

|| job.JobState == JobState.Submitted

|| job.JobState == JobState.Expired

|| job.JobTitle.IsNullOrWhiteSpace())

{

//....

}

优化后:

if (CanBeDeleted(job))

{

//

}

private bool CanBeDeleted(Job job)

{

var invalidJobState = job.JobState == JobState.New

|| job.JobState == JobState.Submitted

|| job.JobState == JobState.Expired;

var invalidJob = string.IsNullOrEmpty(job.JobTitle);

return invalidJobState || invalidJob;

}

到受到牛气冲天了吗?