新手程序员应该注意的几点

在工作中经常看到新手程序员在代码方面做得不够优化,以php为例说以下几点,让程序更简洁,更快。

1、注意=、==、===的正确运用,避免在程序中出现逻辑错误

有时候你可能会把“==”写成了“=”,这样就造成了程序在逻辑方面出错,找了半天才发现原因是将“==”写成了=。
在判断一个表达式的值是否为false的时候尽量用“===”,当结果为0、null等值的时候使用“==”表达式的值也为真。
“=”是赋值运算符,“==”是判断两个值是否相等。

“==”和“===”的区别在于“==”只判断两个值是否相等,并不去判断他们的类型是否相同,而“===”只有在值和类型都相同的情况下表达式的值才会为真。

2、使用三元运算符“:”代替if...else...

经常看到有人这么写:

if ($a) {
    $b = 1;
} else {
    $b = 2;
}
使用三元运算符可以将代码简化为一行:
$b = $a ? 1 : 2;

3、如果只对一个条件进行判断,它的值比较多,是枚举类型的,使用swtich...case代替if...elseif...elseif...else可以使代码更清晰

例如:
if ($a == 10) {
    $status = '待审核';
    ...
} elseif ($a == 20) {
    $status = '审核通过';
    ...
} elseif ($a == 30) {
    $status = '审核未通过';
    ...
} elseif ($a == 40) {
    $status = '工作中';
    ...
} elseif ($a == 50) {
    $status = '已结束';
    ...
}
将以上判断写成switch...case更具有可读性:
switch ($a) {
    case 10:
        $status = '待审核';
        ...
        break;
    case 20:
        $status = '审核通过';
        ...
        break;
    case 30:
        $status = '审核未通过';
        ...
        break;l
    case 40:
        $status = '工作中';
        ...
        break;
    case 50:
        $status = '已结束';
        ...
        break;
}

4、在项目中看到有些程序员将能够执行一次SQL插入完成的写成了执行多次SQL。

例如有人会这么写:
for ($i = 0; $i < $n; $i++) {
    $sql = 'insert into table values(...)';
    $db->query($sql);
}
将多次执行SQL优化成执行一次,可以提高效率:
$sql = 'insert into table values ';
for ($i = 0; $i < $n; $i++) {
    $sql .= '(...),'
}
$sql = rtrim($sql, ',');
$db->query($sql);

5、使用比较大的数组或对象的时候,用完之后要及时销毁,避免占用太多的资源。

比较大的数组或对象会消耗很多资源,在使用完之后要使用unset()及时销毁,减少资源的占用。

6、在使用require等函数加载文件的时候尽量写绝对路径,可以减少解析路径的时间。


7、字符串尽量使用''代替""。

如果字符串中要解析变量时才用"",否则使用''效率更高。

8、尽量将for循环的终止条件在外面计算好,避免每次循环都有重新计算。

例如:
$arr = array(...);
for ($i = 0; $i < count($arr); $i++) {
    ...
}
将以上代码优化成以下可以提高效率:
$arr = array(...);
$count = count($arr);
for ($i = 0; $i < $count; $i++) {
    ...
}
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、可私信6博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、可私信6博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值