代码之家  ›  专栏  ›  技术社区  ›  dreftymac

缩进偏好和个性

  •  0
  • dreftymac  · 技术社区  · 16 年前

    这个问题在精神上类似于:

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

    但它是专门基于缩进(空格与制表符以及空格数)。

    我在这里询问而不是搜索的原因是我记得看到 具体的 写关于这个的文件。如果我没记错的话,它还谈到了为什么Linus喜欢8个空格。

    1 回复  |  直到 16 年前
        1
  •  1
  •   Max E.    16 年前

    我相信,您所指的文档是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程序员。它相当于空闲编辑器中的默认缩进方案,我经常使用它。

    推荐文章