предпочтение отступа и личность - PullRequest
0 голосов
/ 11 марта 2010

Этот вопрос по духу похож на:

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

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

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

1 Ответ

1 голос
/ 11 марта 2010

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

...