2010-03-11 43 views
0

这个问题在本质上类似:缩进偏好和个性

https://stackoverflow.com/questions/492178/links-between-personality-types-and-language-technology-preferences

但它是专门压痕基于(空格VS制表符和空格的数量)。

我在这里问的原因而不是搜索是因为我记得看到一个特定文件写这个。如果我没有记错的话,它还谈到了为什么莱纳斯喜欢八个空格。

+0

我想知道是否有人做过关于视觉与编码风格的研究。 – 2010-03-11 17:48:33

回答

1

你指的是该文件,我相信,Linux内核编码标准: https://computing.llnl.gov/linux/slurm/coding_style.pdf

就个人而言,我更喜欢四个空格,直线上升。我尽量保持每行79个字符,除非我不喜欢它或者有很长的字符串。当括号内的语句或注释溢出时,我将第一行的起始位置与下一个制表位对齐(或者如果必须,则位于下一个缩进级别之后),然后对齐。下面是我的一些代码的示例(取自我正在处理的一些随机代码库)。请注意我对该多行条件执行的操作。

void R_RecursiveWorldNode (mnode_t *node, int clipflags){ 
    msurface_t  *surf; 
    static vec3_t oldviewangle,  oldorigin; 
    vec3_t   deltaorigin,  net_movement_angle; 
    float   len_deltaorigin; 
    float   movement_view_diff; //difference between the net movement 
             //angle and the view angle (0 when 
             //movement during frame was straight 
             //ahead.) 

    VectorSubtract (r_origin, oldorigin, deltaorigin); 
    len_deltaorigin = abs(len_deltaorigin); 

    VectorCopy (deltaorigin, net_movement_angle); 
    VectorNormalize(net_movement_angle); 

    VectorSubtract (net_movement_angle, vpn, net_movement_angle); 
    movement_view_diff = abs (movement_view_diff); 


    // if we have either a new PVS or a significant amount of 
    // movement/rotation, we should actually recurse the BSP again. 
    if (  (r_oldviewcluster != r_viewcluster && r_viewcluster != -1) || 
       len_deltaorigin > 12.0 || vpn[YAW] != oldviewangle[YAW]  || 
       movement_view_diff > 1.0 ) { 
     VectorCopy (vpn, oldviewangle); 
     VectorCopy (r_origin, oldorigin); 
     r_ordinary_surfaces = NULL; 
     r_alpha_surfaces = NULL; 
     r_special_surfaces = NULL; 
     __R_RecursiveWorldNode (node, clipflags); 
    } 

    surf = r_ordinary_surfaces; 
    while (surf){ 
     GL_RenderLightmappedPoly(surf); 
     surf = surf->ordinarychain; 
    } 
} 

我认为这是来自Python程序员。这是IDLE编辑器中默认缩进方案的C等价物,我曾经使用过很多。