博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
做个合格的程序员
阅读量:4040 次
发布时间:2019-05-24

本文共 940 字,大约阅读时间需要 3 分钟。

代码不规范的表现:

碰到这样一种情况,用一个月的时间做出了一个产品,然后花了半年的时间来改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,这样的话就对我们有个警示,会考虑差值结果会不会翻转的问题。

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

转载地址:http://jsldi.baihongyu.com/

你可能感兴趣的文章
如何成为编程高手
查看>>
本科生的编程水平到底有多高
查看>>
AngularJS2中最基本的文件说明
查看>>
从头开始学习jsp(2)——jsp的基本语法
查看>>
使用与或运算完成两个整数的相加
查看>>
备忘:java中的递归
查看>>
DIV/CSS:一个贴在左上角的标签
查看>>
Solr及Spring-Data-Solr入门学习
查看>>
Vue组件
查看>>
python_time模块
查看>>
python_configparser(解析ini)
查看>>
selenium学习资料
查看>>
<转>文档视图指针互获
查看>>
从mysql中 导出/导入表及数据
查看>>
HQL语句大全(转)
查看>>
几个常用的Javascript字符串处理函数 spilt(),join(),substring()和indexof()
查看>>
javascript传参字符串 与引号的嵌套调用
查看>>
swiper插件的的使用
查看>>
layui插件的使用
查看>>
JS牛客网编译环境的使用
查看>>