Axure 伪代码规范

2020年3月15号

目录

  1. 元件命名规范
  2. Axure伪代码功能关键字
  3. Axure伪代码的计算符号
  4. Axure伪代码的代码配色方案
  5. Axure伪代码各关键字列表
  6. Axure伪代码应用示例
  7. 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://yssycm.com/fituppage/examples.html

发表评论

电子邮件地址不会被公开。