不在一个声明中声明多个变量会使代码更具可读性吗?

Does not declaring more than one variable in one declaration makes the code more readable?

当某人有很多变量时,是在一行中声明所有相同类型的变量还是为每个变量声明写一行更好? (就代码的可读性而言)

例如

全部在一行中:

       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;

您认为哪个使代码更具可读性?

对于局部变量的定义是分组还是每行单独定义主要是见仁见智的问题。以下是一些一般性评论:

  • 本地编码风格可能会强加于另一种。与项目其余部分的一致性很有价值,有助于提高可读性。

  • 在同一行中用简短注释记录其中一些定义可能很有用,并提示将它们分开。但不要评论显而易见的事情。

  • 如果将定义分组在逻辑块中,请不要在同一行中混合使用指针和变量。这让很多读者感到困惑。

  • 将定义移近变量的使用位置也有助于提高可读性,因为它缩小了这些变量的范围,同时也减少了有限的资源space。