2020年3月15号
目录
- 元件命名规范
- Axure伪代码功能关键字
- Axure伪代码的计算符号
- Axure伪代码的代码配色方案
- Axure伪代码各关键字列表
- Axure伪代码应用示例
- Axure前端开发可行性探索
Axure 的代码片段会存在于不同元件中。这种碎片化的代码片段应对复杂的逻辑功能时,极不利于阅读梳理与维护。
伪代码可以将宏观概念描述细化为可执行的逻辑,将不同的元件中的代码碎片,统一简化到用文字直接表述。
用于简明快捷方便的表达复杂的逻辑与计算,完成伪代码后再进行Axure中的实际操作就变的十分简单了。
应用中在Axure中的实际设置的修改,也需要及时更新到伪代码中。便于之后的维护与优化。
伪代码规范(借鉴JavaScript语法风格)
命名规则,帮助快速的找到识别对应的内容,所以命名必须是有意义的单词。
序号 | 命名前后缀 | 说明 |
1 | ThisIsMyFunction | 命名的大驼峰写法,区别于Axure中自有功能函数的小驼峰写法 |
2 | Ele_ | (Element)元件的命名前缀,表明此为Axure自带的最小元件。 |
3 | Com_ | (Component)对由多个元件组成的组件容器的命名前缀。 |
4 | Wid_ | (Widget)独立的功能控件。具有统一接口与其它元件进行数据交互。 |
5 | For_ | 自定义功能函数名前缀,表明此功能用于处理循环。 |
6 | Pu_ | 自定义功能函数名前缀,表明此功能是一功能函数组(见注释)的开始。 |
7 | Pr_ | 自定义功能函数名前缀,表明此功能是一系列功能函数中的某一过程。 |
8 | ER_ | 数据集(中续器)的命名前缀。 |
*功能函数组:因Axure中元件功能承载有限,一个完整的功能有时需要多个元件协作完成。这些协作的原件称为功能函数组。
伪代码功能关键字,用于描述具体的操作内容。
序号 | 关键字 | 说明 |
1 | ADD | 增加中续器数据行 |
2 | CALL | 调用自定义的功能函数 |
3 | DELETE | 删除数据行 |
4 | EVENT | 事件,后跟Axrue中自带的所有事件名。 |
5 | FIND | 筛选中继器中的数据项 |
6 | FOR | 循环处理 |
7 | IF( ) … ElSEIF( ) … ELSE | 条件判定 |
8 | MOVE | 移动元件位置 |
9 | NEW | 创建自定义的功能函数 |
10 | PUBLIC | 申明全局变量 |
11 | PRIVATE | 申明页面变量(文字元件)或数据对象(中续器) |
12 | SET | 设置对象(值或状态等) |
13 | WAIT | 等待。避免程序超出逻辑顺序预期。常用于FIND之后。 |
自定义关键字实例
ADD | 增加中续器数据行 |
例:
ADD ER_Name.Number = 1; //中续器中增加一行, 其Number字段值设为1
ADD //中续器中增加一行,同时设置多个字段的值
{
ER_Name.Number = 1; // Number字段值设为1
ER_Name.Name = ‘Value’; // Name字段值设为Value
}
CALL | 调用自定义的功能函数 |
例:
NEW Pu_MyFunction ( A,B) //先创建一个自定义功能函数
{
…
}
CALL Pu_MyFunction ( A,B) //再调用之前已创建好的功能函数,调用功能函数前,需检查需要的参数是否如预期一样已准备好。自定义功能函数使用Axure提供的checkbox(多选按钮)实现。通过切换选中和非选中状态来触发执行。
DELETE | 删除数据行 |
例:
DELETE ER_Name; //删除中继器中所有的数据
DELETE ER_Name.Number == 1; //删除中继器中Number字段为1的所有数据
EVENT | 事件,后跟Axrue中自带的所有事件名。 |
例:
EVENT “Ele_Name”.onclick; //触发名为Ele_Name 元件的鼠标点击事件。onclick是Axure中提供的众多事件的一种。其它的事件可以查看Axure支持索引 。
FIND | 筛选中继器中的数据项 |
例:
FIND ER_Name.Number == 1; //筛选中名为ER_Name的续器中Number字段的值等于1的数据行。
WAIT 10; //注意如果要从找到的数据行中取值FIND需与WAIT配合使用,避免取值早于目标行找到前。
FOR | 循环处理 |
例:
NEW Pr_For_FunctionName (i,A,B)
/*FOR语句通过Axure提供的checkbox定时切换,配合元件的条件判定实现按要求循环。每一个FOR都需要一个checkbox来独立完成动作*/
{
FOR ( i=0 ; i >= A , i++ )
{
SET B = A + i;
}
}
IF( ) … ElSEIF( ) … ELSE | 条件判定 |
例:
/*使用元件的条件判断完成单条件或多条件判定*/
IF(A == 1)//如果A等于1则
{
…
}
ELSEIF ( A == 2 ) //如果A等于2则
{
…
}
ELSE //如果A等于除1,2以外的值则
{
…
}
MOVE | 移动元件位置。参数absolute:绝对(默认),relative:相对 |
例:
MOVE(absolute) “Ele_Name”.x = 0; //移动名为Ele_Name 的元件到绝对位置横轴0处。
MOVE “Ele_Name”.x = 0; //与上面代码一样,为什么默认是绝对位置,因为用的多,能少写。
NEW | 创建自定义的功能函数 |
例:
NEW Pu_MyFunctionName ( A,B )
/*创建一个自定义功能函数,通过Axure的checkbox切换选中与非选中完成执行*/
{
…
}
PUBLIC | 申明全局变量或数据对象(中续器) |
例:
PUBLIC A = 0; //创建全局变量A默认值为0;
PRIVATE | 申明页面变量(文字元件)或数据对象(中续器) |
例:
PRIVATE A = 0; //创建文字元件ID=A 文字记录默认为0;
PRIVATE ER_Name = {Number,Name}; //创建一个包含Number和Name字段的中续器。
SET | 设置对象(值或状态等) |
例:
SET A = 1; //设置变量A等于1;
SET “Ele_CheckboxName” = true //设置元件为选中状诚
SET “Ele_DynamicPanelName” = ‘State1’; //设置动态面板切换为State1
SET ER_Name.Number = 1; //设置名为ER_Name中继器中名为Number字段的所有值为1。
SET (ER_Name.Number == 1 )
/*设置名为ER_Name中继器中Number字段值为1的行中Name字段和Number字段的值*/
{
ER_Name.Number = 2;
ER_Name.Name = ‘Value’;
}
WAIT | 等待。避免程序超出逻辑顺序预期。常用于FIND之后,值为10。 |
例:
FIND ER_Name.Number == 1; //筛选中名为ER_Name的续器中Number字段的值等于1的数据行。
WAIT 10; //如果要从找到的数据行中取值FIND需与WAIT配合使用,避免取值早于目标行找到前。
SET A = ER_Name.Name; //设置A为找到的数据行中的Name字段的值。
CALL Pu_FunctionName1 (A); //调用名为Pu_FunctionName1的功能函数。
WAIT 100; //上一个调用开始后100毫秒再调用其它功能函数。
CALL Pu_FunctionName2 (A); //调用名为Pu_FunctionName2的功能函数。
伪代码中的计算符号(与Axrue一致)
序号 | 关键字 | 说明 |
1 | //注释内容 | 单行注释 |
2 | /*注释内容*/ | 多行注释 |
3 | +,-,*,/ | 加减乘除 |
4 | = | 赋值 |
5 | ==,>=,>,<,<=,!= | 等于,大于等于,大于,小于,小于等于,不等于 |
6 | &&,|| | 并且,或者 |
7 | { … } | 范围符 |
伪代码配色规范,便于代码更易阅读。
可使用其它代码的IDE工具设置关键字实现编写时自动着色。
伪代码功能关键字。
CharacterColor 色值 # 0097e6 例:NEW,SET
Axure内置的关键字,函数,方法,属性。
CharacterColor 色值 #cd00cd 例:x,y,width,height
代码中的符号。
CharacterColor 色值 #e84119 例:+,-,*,/,(,)
代码中的注释。
CharacterColor 色值 #27ae60 例:/*注释*/
其它字符颜色。
CharacterColor 色值 #333333 例:MyFunction
以下为各关键字表列,使用“,”隔开,可导入自己喜欢的IDE中备用
Axure内置的关键字,函数,方法,属性Repeater,visibleItemCount,itemCount,dataCount,pageCount,pageIndex,This,Target,x,y,width,height,scrollX,scrollY,text,name,top,left,right,bottom,opacity,rotation,PageName,Window,Cursor,DragX,DragY,TotalDragX,TotalDragY,DragTime,toExponential,toFixed,toPrecision,length,charAt,charCodeAt,concat,indexOf,lastIndexOf,replace,slice,split,substr,substring,toLowerCase,toUpperCase,trim,toString,Math,abs,acos,asin,atan,atan2,ceil,cos,exp,floor,log,max,min,pow,random,sin,sqrt,tan,Now,GenDate,getDate,getDay,getDayOfWeek,getFullYear,getHours,getMilliseconds,getMinutes,getMonth,getMonthName,getSeconds,getTime,getTimezoneOffset,getUTCDate,getUTCMilliseconds,getUTCMinutes,getUTCMonth,getUTCSeconds,Date,parse,toDateString,toJSON,toLocaleDateString,toLocaleTimeString,toUTCString,UTC,valueOf,addYears,addMonths,addDays,addHours,addMinutes,addSeconds,addMilliseconds,Year,Month,Day,Hours,Minutes,Seconds,
代码中的符号
+,-,*,/,%,,,', (,),=,==,!==,>,>=,<,<=,||,&&,++,--,
伪代码功能关键字
PRIVATE ,PUBLIC,CALL,IF,ELSE,ELSEIF, NEW,FOR,SET,FIND,ADD,WAIT,MOVE
伪代码的应用实例:
需求:在一个列表中,随机生成10个10至1000的自然数,并标记其是奇数还是偶数)

伪代码设计结果 http://newoweb.com/fituppage/examples.html
这个是不是有点难