可以直接转换该行程式后,我就想说是否一次转一个方法。接下来只有每个方法都複製过来,按执行,就可以将程式写完了。
(但内心其实也有想说一次转一个档案,但尤于以前没有转过,而且我来这个专案只有三天,和别人说自已有写转档的小程式,并没有被认同。所以不敢给自已下这个目标。所以我先阶低梯度,先切分成一个一个方法来转。)
在这个方法中SUBNO是ID的名称,Validate为栏位检核。有Validate的方法都会对应到Html的某个属性。
/** * *科目代号变动判定 * */public function reactToSUBNO$Validate(event:ValidationEvent):void{.....}
第一部份:以方法做一个单位去转档案,要思考的点
1.就是程式要知道那一行是一个方法
2.比较出是那一个方法
3.取出id
4.替换出现在程式的格式
而在这个专案中
旧:public function reactToSUBNO$Validate(event:ValidationEvent):void
新:validateSUBNO()
要将旧的资料转成新的资料,
1.我判断function来确认是否是方法。
2.判断是Validate,
3.透过indexOf()的方法取出SUBNO,
4.将validate+SUBNO()取代旧有的资料。即可。
于是会转成以下的格式
/** * 科目代号变动判定 */validateSUBNO(event: CustomEvent){....}
第二部份:
因为validate的方法是由html呼叫,所以我先写好呼叫的方法,让程序员可以直接複製内容贴到Html里。
//(systexValidate)="validateSUBNO($event)"
第三部份:
优化画面,减少不必要的东西,在方法的注释中我不需要太多的号,所以我就该行只行一个号的资料也删除掉。
最后输出如下:
/** * 科目代号变动判定 *///(systexValidate)="validateSUBNO($event)"validateSUBNO(event: CustomEvent){....}
程式码如下:
if (str.indexOf("Validate") >= 0) { int index0 = str.indexOf("reactTo"); int index1 = str.indexOf("$"); if (index0 > 0 && index1 > 0) { str = "//(systexValidate)=\"validate" + str.substring(index0 + 7, index1) + "($event)\"\n" + "validate"+ str.substring(index0 + 7, index1) + "(event: CustomEvent)"; }}
结合前一篇文章,这样就把一个方法的内容连同注解都翻译好了。
写完隔天,我分享我的程式给我们组的组长,我们组长看了我的程式,和我说:「这我也会。然后就不太理我。」
其实我觉得我写了一个不错的程式,我分享给几个同组的人,但没有人说:「棒棒」
但这没有影响我继续优化。