2010-03-11 3 views
0

Этот вопрос аналогичен по духу:отступы предпочтения и личности

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

Но она основана именно на отступы (пробелы против вкладок и количество пробелов).

Причина, по которой я прошу здесь вместо поиска, заключается в том, что я помню, как я писал документ об этом письме. Если я правильно помню, он также говорил о том, почему Линус предпочитает восемь пробелов.

+0

Интересно, сделал ли кто-нибудь исследование, коррелирующее зрение с использованием стиля кодирования. –

ответ

1

Документ, который вы имеете в виду, я полагаю, Linux Kernel Coding Standard: 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. Это C эквивалент схемы отступа по умолчанию в редакторе IDLE, который я использовал для многого.