2010-03-11 4 views
0

Cette question est similaire dans l'esprit:préférence d'indentation et de la personnalité

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

Mais il est basé en particulier sur indentation (espaces vs onglets et le nombre de places).

La raison pour laquelle je demande ici au lieu de chercher est parce que je me souviens avoir vu un document spécifique écrit à ce sujet. Si je me souviens bien, il a également parlé de la raison pour laquelle Linus préfère huit espaces.

+0

Je me demande si quelqu'un a fait une étude corrélant la vue avec le style de codage. –

Répondre

1

Le document dont vous parlez est, je crois, la norme de codage du noyau Linux: https://computing.llnl.gov/linux/slurm/coding_style.pdf

Personnellement, je préfère quatre espaces, tout droit. J'essaie de le garder à 79 caractères par ligne, à moins que je n'aie pas envie de le faire ou qu'il y ait une longue ficelle. Lorsque les déclarations entre parenthèses ou les commentaires se répandent, j'aligne le début à l'arrêt de tabulation suivant sur la première ligne (ou au-delà du niveau d'indentation suivant si nécessaire), puis aligner par la suite. Voici un échantillon de mon code (tiré d'une base de code aléatoire sur laquelle je travaille). Remarquez ce que je fais avec ce conditionnel multiligne.

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; 
    } 
} 

Cela vient, je pense, d'être un programmeur Python. C'est l'équivalent C du schéma d'indentation par défaut dans l'éditeur IDLE que j'utilisais beaucoup.

Questions connexes