如何编写有利于读懂和传播的程序呢?试试以下方法吧。
1.命名
如果你的程序有很多参数,那么尽快把命名确定下来,命名必须是英文的
而且比较实用的可以是θz写成theta_z,或者用大小写区别thetaZ,gamma等……
并且如果你的变量经常性出现,可以在一个范围以内用简写进行替换,但是前提是不要离变量的真实名过远。
如果你的一个参数只是数值型的,那么在开头用n吧,nSize=5
循环变量的应该以‘ijk’字母开头,例如w=1:iSize
在嵌套中最好为ijk顺序,一层一层。for i for j for k
命名常数时用大写字母表示,THETA_Z
函数名应为小写
2.小技巧
每个循环都要在end处进行说明,这样可以更清晰了解函数
每个小任务完成后都应间隔几行,开始进行下一段代码的写入。
避免负责含糊嵌套,应该罗列清楚
if(value>=lowerLimit)& (values<=upperLimit)&~ismember(value,valueArray)
……
……
end
而应该用如下的方式代替:
isValid = (value=lowerLimit)& (values<=upperLimit);
isNew =~ismember(value,valueArray)
if ( isValid &isNew)
3.注释
举例:
%================================================================
% 功能: 求圆孔的夫琅禾费衍射光强分布
% 参数: CircleHoleFD为圆孔结构体,包含圆孔衍射相关信息;
% theta为衍射场的次波方向,可以为向量,求取各方向的光强
% 返回值: I为衍射光强分布
% 主要思路:使用夫琅禾费单缝衍射公式计算
% 备注: 入射角只考虑一个维度的
% 调用方法:见CalcCircleHoleFD_Test文件
% 日期: 2011/7/12 20:37
%================================================================
function I =CalcCircleHoleFD(CircleHoleFD, theta)
。。。(具体编程开始)
4.如果你想让你的程序看着很舒服,并且别人又能方便阅读加上"%% 描述"吧,这个可以直接给你分成一块一块的。