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

时间:2015-12-06 11:05:27

标签: 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;
    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;

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

1 个答案:

答案 0 :(得分:1)

对于局部变量的定义是分组还是每行分开一个,这主要是一个观点。以下是一些一般性评论:

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

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

  • 如果在逻辑块中对定义进行分组,请不要在同一行上混合使用指针和变量。很多读者都很困惑。

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