C 在一个声明中不声明多个变量是否会使代码更具可读性?
当一个人有很多变量时,最好是在一行中声明相同类型的所有变量,还是为每个变量声明写一行?(在代码可读性方面) 比如说 一网打尽:C 在一个声明中不声明多个变量是否会使代码更具可读性?,c,declaration,readability,code-readability,C,Declaration,Readability,Code Readability,当一个人有很多变量时,最好是在一行中声明相同类型的所有变量,还是为每个变量声明写一行?(在代码可读性方面) 比如说 一网打尽: int my_rank, comm_size, processors_used, name_length, *x, *y; double mean_value, variance, var_sum, *var_sums; char string,*tmp,option; 各行各业: int my_rank; i
int my_rank, comm_size, processors_used, name_length, *x, *y;
double mean_value, variance, var_sum, *var_sums;
char string,*tmp,option;
各行各业:
int my_rank;
int comm_size;
int processors_used;
int name_length;
int *x;
int *y;
double mean_value;
double variance;
double var_sum;
double *var_sums;
char string;
char *tmp;
char option;
我更喜欢第一个,而不是第二个,但我的情况是,我只有大约19个整数,我认为无论哪种方式都会使代码看起来难以辨认和难看
实际上,我将逻辑块中的声明和同一声明中的分组变量(如果它们相互关联)分开
int my_rank, comm_size, processors_used, name_length;
int *x, *y, *send_counts, *displacement, num;
int max, min, loc_max, loc_min, *max_array, *min_array;
int i,option,sum,*sums;
double mean_value, variance, var_sum, *var_sums, *delta_vector, *local_delta;
char proc_name[MPI_MAX_PROCESSOR_NAME];
MPI_Status status;
您认为哪一种代码更具可读性 是否将局部变量的定义分组或将它们每行分开,主要取决于意见。以下是一些一般性意见:
- 本地编码样式可能会将一种样式强加于另一种样式。与项目其余部分的一致性是有价值的,并且有助于可读性
- 在同一行用简短注释记录其中一些定义可能很有用,并提示将它们分开。但不要评论显而易见的事情
- 如果将定义分组到逻辑块中,请不要在同一行上混合指针和变量。这使许多读者感到困惑
- 将定义移到更接近使用变量的位置也有助于可读性,因为它减少了这些变量的范围,同时也减少了精神空间,这是一种有限的资源
b
inint*a,b代码>不是指针。否则,我只在一行上写多个声明,如果它们有相同的用途,比如inti,j代码>用于索引。@cad几乎相当于typdef
ing指针。这也是为什么我更喜欢int*a代码>超过int*a代码>。您应该阅读这本书来了解c标准:-)