这个问题在精神上类似于:
但它专门基于缩进(空格与制表符和空格数)。
我在这里询问而不是搜索的原因是因为我记得看到一个特定的文档写了这个。如果我没记错的话,它还谈到了为什么 Linus 更喜欢八个空格。
这个问题在精神上类似于:
但它专门基于缩进(空格与制表符和空格数)。
我在这里询问而不是搜索的原因是因为我记得看到一个特定的文档写了这个。如果我没记错的话,它还谈到了为什么 Linus 更喜欢八个空格。
我相信您所指的文件是 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 编辑器中的默认缩进方案。