做个合格的程序员

代码不规范的表现:

碰到这样一种情况,用一个月的时间做出了一个产品,然后花了半年的时间来改BUG,代码越改越冗余,越改越混乱,有时候改一个BUG还会引入另一个BUG。

1、一个好的代码是需要设计的,在写代码的时候心中要有架构,这样写出来的代码才会更内聚,更加模块化,接口明确,边界清晰。我看到了大量的复制粘贴的代码,有些功能类似但是有细小差别的函数就命名为A_1,A_2这样子,其实是可以把公共部分提取出来,然后针对一些差别,封装进别的函数,函数名指明函数的功能,而不是简单的复制粘贴。还有就是一个函数里面做了很多事情,一个函数就有成百上千行的代码,这样的代码一看就是功能不清晰的,不利于维护,对于未来可能产生的需求的变化,它的改动量是很大的。

2、写代码要有前瞻性。

pthread_t tidVod[VOD_BUTT];

enum{

VOD_IRR = 0,

VOD_BUTT

};

这样当只用到一个tid时,就传tidVod[VOD_IRR];后来又增加了一个线程,那么我在枚举中再增加一个VOD_CLOUD;用到的话就tidVod[VOD_CLOUD]这样子,代码改动很小,而且看名字就知道功能,而且在用for对变量做初始化的时候都不用改。

一个好的代码应该能够适应变化,在需求变化是用最小的改动量就能完成。

3、代码规范的意义。举个最近碰到的问题。现象是播放时移中有时会卡屏。然后查原因,查到是个判断的问题,代码是这样的(EndTime-CurTime) >= 3,因为EndTime是无符号整形的,然后CurTime有时没有及时获取到,再次获取到的时候,CurTime已经比EndTime大了,然后值就翻转,所以这个条件一直满足。其实这里有2个问题,一个是判断条件的编写问题,若写成EndTime >= (CurTime+3),这样子就能避免这个问题,另一个是变量命名问题,若变量命名为ulEndTime,这样的话就对我们有个警示,会考虑差值结果会不会翻转的问题。

软件的编程思想和编程规范问题,在一定程度上是不影响功能性的实现的,所以很多人对这一块不太注重,认为东西做出来就好了,其实这影响到代码的健壮性,碰到在线问题或需求变更的时候,这些个东西重要性才能体现出来。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值