1、程序编写首先应当考虑清晰性,不要刻意追求技巧性,使程序编写得过于紧凑。
例如,有一个用java语句写出的程序段:
a[j]=a[i]+a[j];
a[i]=a[j]-a[i];
a[j]=a[j]-a[i];
此段程序可能不易看懂,实际上,这段程序的功能就是交换a[i]和a[j]中的内容。目的是为了节省一个工作单元。如果改一下:
temp=a[j];
a[j]=a[i];
a[i]=temp;
就能让读者一目了然了。
2、程序要能直截了当地说明程序员的用意。例如,
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
v[i][j]=(i/j) * (j/i)
除法运算(/)在除数和被除数都是整型量时,其结果只取整数部分,而得到整型量。
当i<j时,i/j=0
当j<i时,j/i=0
得到的数组
当i≠j时,v[i][j]=(i/j)*(j/i)=0
当i=j时,v[i][j]=(i/j)*(j/i)=1
这样得到的结果,v是一个单位矩阵。
写成以下的形式,就能让读者直接了解程序编写者的意图。
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==j) v[i][j]=1.0;
else v[i][j]=0.0;
例如,有一个用java语句写出的程序段:
a[j]=a[i]+a[j];
a[i]=a[j]-a[i];
a[j]=a[j]-a[i];
此段程序可能不易看懂,实际上,这段程序的功能就是交换a[i]和a[j]中的内容。目的是为了节省一个工作单元。如果改一下:
temp=a[j];
a[j]=a[i];
a[i]=temp;
就能让读者一目了然了。
2、程序要能直截了当地说明程序员的用意。例如,
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
v[i][j]=(i/j) * (j/i)
除法运算(/)在除数和被除数都是整型量时,其结果只取整数部分,而得到整型量。
当i<j时,i/j=0
当j<i时,j/i=0
得到的数组
当i≠j时,v[i][j]=(i/j)*(j/i)=0
当i=j时,v[i][j]=(i/j)*(j/i)=1
这样得到的结果,v是一个单位矩阵。
写成以下的形式,就能让读者直接了解程序编写者的意图。
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==j) v[i][j]=1.0;
else v[i][j]=0.0;