首页 > 未分类 > (转)一段代码的几种写法-怎么样写好的代码
2019
11-29

(转)一段代码的几种写法-怎么样写好的代码

程序员当然要说代码了,代码是程序员的一切,离了代码说其他都是假的,我这里从一段代码开始。

 

(转)一段代码的几种写法-怎么样写好的代码 - 第1张  | 逗分享开发经验    int c=0, n=0,nDiff=0;
(转)一段代码的几种写法-怎么样写好的代码 - 第2张  | 逗分享开发经验    
int height = m_imgHeight;//image height
(转)一段代码的几种写法-怎么样写好的代码 - 第3张  | 逗分享开发经验    LPBYTE lpDsp 
= pSampling;
(转)一段代码的几种写法-怎么样写好的代码 - 第4张  | 逗分享开发经验    jp2_int16 
*sp, val;
(转)一段代码的几种写法-怎么样写好的代码 - 第5张  | 逗分享开发经验    LPBYTE dest;
(转)一段代码的几种写法-怎么样写好的代码 - 第6张  | 逗分享开发经验    
//m_imgWidthimage width
(转)一段代码的几种写法-怎么样写好的代码 - 第7张  | 逗分享开发经验
(转)一段代码的几种写法-怎么样写好的代码 - 第8张  | 逗分享开发经验    nDiff 
= m_lineBytes  m_imgWidth*3;
(转)一段代码的几种写法-怎么样写好的代码 - 第9张  | 逗分享开发经验    
while (height) {
(转)一段代码的几种写法-怎么样写好的代码 - 第10张  | 逗分享开发经验        
for (c=0; c<THREE_COMPONENT; c++) {
(转)一段代码的几种写法-怎么样写好的代码 - 第11张  | 逗分享开发经验            dest 
= lpDsp+c;
(转)一段代码的几种写法-怎么样写好的代码 - 第12张  | 逗分享开发经验            sp 
= m_lines[c].m_pBuf;
(转)一段代码的几种写法-怎么样写好的代码 - 第13张  | 逗分享开发经验            
for (n=m_imgWidth; n>0; n, sp++, dest+=THREE_COMPONENT) {
(转)一段代码的几种写法-怎么样写好的代码 - 第14张  | 逗分享开发经验                
*sp += 2;//virtual option
(转)一段代码的几种写法-怎么样写好的代码 - 第15张  | 逗分享开发经验                    ……
(转)一段代码的几种写法-怎么样写好的代码 - 第16张  | 逗分享开发经验                
*dest = *sp;
(转)一段代码的几种写法-怎么样写好的代码 - 第17张  | 逗分享开发经验            }
(转)一段代码的几种写法-怎么样写好的代码 - 第18张  | 逗分享开发经验        }
(转)一段代码的几种写法-怎么样写好的代码 - 第19张  | 逗分享开发经验
(转)一段代码的几种写法-怎么样写好的代码 - 第20张  | 逗分享开发经验        
/*
(转)一段代码的几种写法-怎么样写好的代码 - 第21张  | 逗分享开发经验        
If the bytes isnt 4-bytes multiple, 1-3 bytes will not be 
(转)一段代码的几种写法-怎么样写好的代码 - 第22张  | 逗分享开发经验
        initialized. So these bytes should be initialized as 0
(转)一段代码的几种写法-怎么样写好的代码 - 第23张  | 逗分享开发经验        
*/
(转)一段代码的几种写法-怎么样写好的代码 - 第24张  | 逗分享开发经验        
if(nDiff){
(转)一段代码的几种写法-怎么样写好的代码 - 第25张  | 逗分享开发经验            dest 
-= 2;
(转)一段代码的几种写法-怎么样写好的代码 - 第26张  | 逗分享开发经验            
for(n = nDiff;n>0;n){
(转)一段代码的几种写法-怎么样写好的代码 - 第27张  | 逗分享开发经验                
*dest = 0;
(转)一段代码的几种写法-怎么样写好的代码 - 第28张  | 逗分享开发经验                dest
++;
(转)一段代码的几种写法-怎么样写好的代码 - 第29张  | 逗分享开发经验            }
(转)一段代码的几种写法-怎么样写好的代码 - 第30张  | 逗分享开发经验        }
(转)一段代码的几种写法-怎么样写好的代码 - 第31张  | 逗分享开发经验
(转)一段代码的几种写法-怎么样写好的代码 - 第32张  | 逗分享开发经验        lpDsp 
+= m_lineBytes;
(转)一段代码的几种写法-怎么样写好的代码 - 第33张  | 逗分享开发经验    }
(转)一段代码的几种写法-怎么样写好的代码 - 第34张  | 逗分享开发经验

 

这段代码的目的是一个与图形相关的操作,这里省略了许多代码,所以不可能编译;其基本的含义是从一个缓冲区复制到目标缓冲区pSampling。其中m_imgWidthm_imgHeight表示图象的宽度和高度,m_lineBytes表示4个字节对齐的一行像素的字节数。

我们知道BMP文件的像素要求每行的最终字节数必须是4个倍数。如果图象宽度是4的倍数,不用仇是没有问题的;如果不是4的倍数,例如:129,而且每个像素一个字节,那么最终存储的长度是132个字节,但后面的几个字节如果不填充是未知的内容。上面if(nDiff){后面的就是为了填充这些多余的字节。

我的一个朋友认为这样写更有效一点:

 

(转)一段代码的几种写法-怎么样写好的代码 - 第35张  | 逗分享开发经验            dest -= 2;
(转)一段代码的几种写法-怎么样写好的代码 - 第36张  | 逗分享开发经验            
for(n = nDiff;n>0;n){
(转)一段代码的几种写法-怎么样写好的代码 - 第37张  | 逗分享开发经验                
*dest = 0;
(转)一段代码的几种写法-怎么样写好的代码 - 第38张  | 逗分享开发经验                dest
++;
(转)一段代码的几种写法-怎么样写好的代码 - 第39张  | 逗分享开发经验            }
(转)一段代码的几种写法-怎么样写好的代码 - 第40张  | 逗分享开发经验

最后编辑:
作者:游戏创作者大陆