亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

程序編寫方法、設(shè)備和介質(zhì)與流程

文檔序號(hào):29809614發(fā)布日期:2022-04-27 02:47閱讀:235來(lái)源:國(guó)知局
程序編寫方法、設(shè)備和介質(zhì)與流程

1.本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其是涉及程序編寫方法、設(shè)備和介質(zhì)。


背景技術(shù):

2.人工寫代碼的成本高,邏輯漏洞多,周期長(zhǎng)。代碼文本中在編寫判斷循環(huán)邏輯的時(shí)候,需要用到if else,do while,switch等專業(yè)代碼邏輯,雖然這些對(duì)于程序員來(lái)說(shuō)很簡(jiǎn)單,但是也是需要學(xué)習(xí)成本的。
3.如果使用saas類產(chǎn)品來(lái)編寫程序,功能只能在計(jì)劃之中的或者是之前限制好的規(guī)則里進(jìn)行選擇,這無(wú)法滿足多變的需求。其次這類產(chǎn)品,一般都是基于某個(gè)行業(yè),某個(gè)業(yè)務(wù),業(yè)務(wù)的耦合性也很差。
4.如果使用無(wú)代碼、低代碼類產(chǎn)品來(lái)編寫程序,依舊需要用戶有一定的代碼基礎(chǔ),和代碼思維,對(duì)用戶要求也挺高,其次產(chǎn)品的處理速度和效率都比較差。
5.對(duì)于無(wú)代碼類產(chǎn)品而言,雖然可通過(guò)拖拽實(shí)現(xiàn)程序功能,但是程序功能的底層邏輯都是提前封裝好的,換句話說(shuō)就是用戶只能在已經(jīng)設(shè)計(jì)好的功能里打轉(zhuǎn),不能實(shí)現(xiàn)這個(gè)范圍之外的功能,這同樣極大限制了用戶的創(chuàng)新性。


技術(shù)實(shí)現(xiàn)要素:

6.基于此,有必要針對(duì)上述問(wèn)題,提供程序編寫方法、設(shè)備和介質(zhì)。
7.一種程序編寫方法,所述方法包括:
8.獲取目標(biāo)程序?qū)?yīng)的原型文件;其中,所述原型文件為描述程序功能需求的字符串,所述字符串包含不同維度的原型信息,所述不同維度的原型信息包括運(yùn)行環(huán)境信息、組件信息、前端邏輯信息、云邏輯信息和參數(shù)信息;
9.獲取原始代碼規(guī)范和原始轉(zhuǎn)化規(guī)則,根據(jù)所述原型文件對(duì)所述原始代碼規(guī)范進(jìn)行篩選,以得到目標(biāo)代碼規(guī)范和目標(biāo)轉(zhuǎn)化規(guī)則;其中,所述目標(biāo)代碼規(guī)范和所述目標(biāo)轉(zhuǎn)化規(guī)則適配于所述原型文件;
10.根據(jù)所述目標(biāo)代碼規(guī)范和所述目標(biāo)轉(zhuǎn)化規(guī)則將所述原型文件轉(zhuǎn)換為完整代碼;對(duì)所述完整代碼進(jìn)行封裝,以得到所述目標(biāo)程序?qū)?yīng)的可執(zhí)行工程文件。
11.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),使得所述處理器執(zhí)行上述程序編寫方法的步驟。
12.一種終端設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述處理器執(zhí)行時(shí),使得所述處理器執(zhí)行上述程序編寫方法的步驟。
13.上述程序編寫方法、設(shè)備和介質(zhì),從設(shè)計(jì)層面設(shè)計(jì)包含程序功能的原型文件,再配合原型文件的轉(zhuǎn)化算法,可是實(shí)現(xiàn)程序的快速編寫。因此用戶也不用記憶代碼的格式,以及代碼單詞的特定意義和用法等。此外,還可以實(shí)現(xiàn)多平臺(tái)適配,換句話說(shuō),就是可以打破不同程序系統(tǒng)之間的生態(tài)壁壘,一次設(shè)計(jì)可以適配到所有平臺(tái)。
附圖說(shuō)明
14.為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
15.其中:
16.圖1為一個(gè)實(shí)施例中獲取原型文件的流程示意圖;
17.圖2為一個(gè)實(shí)施例中原型文件編輯界面的示意圖;
18.圖3為一個(gè)實(shí)施例中顯示窗口、屬性設(shè)置窗口和樣式控制窗口的示意圖;
19.圖4為一個(gè)實(shí)施例中在樣式控制窗口將若干個(gè)組件進(jìn)行關(guān)聯(lián)的示意圖;
20.圖5為一個(gè)實(shí)施例中事件窗口的示意圖;
21.圖6為一個(gè)實(shí)施例中將事件窗口內(nèi)邏輯組件的邏輯元素與樣式控制窗口內(nèi)的控制變量進(jìn)行關(guān)聯(lián)的示意圖;
22.圖7為一個(gè)實(shí)施例中在服務(wù)器窗口內(nèi)創(chuàng)建云邏輯的示意圖;
23.圖8為一個(gè)實(shí)施例中將云邏輯和用戶的功能事件進(jìn)行關(guān)聯(lián)的示意圖;
24.圖9為一個(gè)實(shí)施例中程序編寫方法的流程示意圖。
具體實(shí)施方式
25.下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
26.代替人工編寫代碼,以及現(xiàn)有的無(wú)代碼、低代碼類產(chǎn)品編寫程序的方式,本實(shí)施例中,通過(guò)創(chuàng)建原型文件的方式來(lái)是實(shí)現(xiàn)用戶的程序功能需求,該過(guò)程中無(wú)需人為編寫代碼,只需執(zhí)行簡(jiǎn)單的拖拉拽動(dòng)作即可。并且每個(gè)功能需求對(duì)應(yīng)的底層邏輯和數(shù)據(jù)都可以靈活調(diào)整,不存在任何限制。如圖1所示,圖1為一個(gè)實(shí)施例中獲取原型文件的流程示意圖,步驟包括:
27.步驟102、顯示原型文件編輯界面。
28.如圖2所示,該顯示原型文件編輯界面包括顯示窗口、屬性設(shè)置窗口、樣式控制窗口、事件窗口和服務(wù)器窗口。其中,顯示窗口、屬性設(shè)置窗口和樣式控制窗口構(gòu)成用戶終端的前端顯示界面,可對(duì)多個(gè)頁(yè)面的顯示內(nèi)容進(jìn)行編輯。在事件窗口內(nèi)可對(duì)多個(gè)功能事件(例如用于存儲(chǔ)文件的事件、用于修改文件格式的事件)進(jìn)行編輯,在服務(wù)器窗口內(nèi)可對(duì)多個(gè)云邏輯進(jìn)行編輯。本實(shí)施例中,將前端顯示界面和邏輯分開(kāi)來(lái)設(shè)計(jì),可以實(shí)現(xiàn)業(yè)務(wù)邏輯和顯示界面設(shè)計(jì)的獨(dú)立。
29.在顯示窗口內(nèi),可添加至少一個(gè)組件。其中,組件的類型包括邏輯組件和數(shù)據(jù)組件,此外,還包括文字組件、圖片組件等組件。每個(gè)組件由元素構(gòu)成,而元素包括圖片,文本,視頻,形狀(如矩形)、輸入框等不同形式。
30.如圖3所示,在顯示窗口內(nèi),由組件元素管理器管理組件與組件、元素與元素及組件與元素之間的各種關(guān)系,并進(jìn)行展示。在編輯頁(yè)面時(shí),可以從組件元素管理器中通過(guò)拖拽
拉扯的操作方式來(lái)添加組件,也可以是通過(guò)復(fù)制粘貼之前已經(jīng)設(shè)計(jì)好的組件來(lái)添加組件。
31.步驟104:當(dāng)未接收到組件添加的指令,且未接收到選中組件的指令,且未接收到選中元素的指令時(shí),在屬性設(shè)置窗口內(nèi)對(duì)顯示窗口的顯示窗口樣式進(jìn)行設(shè)置;當(dāng)接收到選中組件的指令,或接收到選中元素的指令時(shí),在屬性設(shè)置窗口內(nèi)對(duì)選中的組件或選中的元素對(duì)應(yīng)的組件的組件樣式進(jìn)行設(shè)置。
32.其中,如圖3所示,組件樣式和窗口顯示樣式包括狀態(tài)、簡(jiǎn)介、顏色、位置、特殊樣式和內(nèi)容等不同角度。具體的來(lái)說(shuō),狀態(tài)包括常態(tài)、點(diǎn)擊時(shí)、移入等;簡(jiǎn)介包括名稱、所屬、備注等;顏色包括背景顏色、字體顏色等;位置包括位置關(guān)系、關(guān)系具體值等;特殊樣式包括圓角、描邊等;內(nèi)容包括圖片來(lái)源、顯示文字等。
33.當(dāng)其中一個(gè)組件被選中時(shí),便可以對(duì)組件樣式進(jìn)行設(shè)置;當(dāng)組件未被創(chuàng)建,且未選擇任何一個(gè)組件或元素時(shí),此時(shí)可以對(duì)顯示窗口樣式進(jìn)行設(shè)置。
34.步驟106:在樣式控制窗口內(nèi),當(dāng)接收到樣式控制指令時(shí),添加數(shù)據(jù)模塊,并響應(yīng)于樣式控制指令通過(guò)連線將若干個(gè)組件進(jìn)行關(guān)聯(lián)。
35.其中,關(guān)聯(lián)的組件基于數(shù)據(jù)模塊統(tǒng)一修改組件樣式。
36.如圖4所示,可以在樣式控制窗口里添加數(shù)據(jù)模塊,然后通過(guò)連線把若干個(gè)組件關(guān)聯(lián)起來(lái),比如所有組件的背景通過(guò)連接到同一個(gè)數(shù)據(jù)模塊,這樣就可以基于數(shù)據(jù)模塊實(shí)現(xiàn)所有組件背景的統(tǒng)一修改和編輯。
37.數(shù)據(jù)模塊內(nèi)賦予的參數(shù)信息包括數(shù)據(jù)介紹、數(shù)據(jù)初始值和數(shù)據(jù)范圍。具體的來(lái)說(shuō),一、數(shù)據(jù)介紹包括文本數(shù)據(jù),對(duì)象,數(shù)組等不同類型數(shù)據(jù)的細(xì)節(jié)。二、數(shù)據(jù)初始信息是數(shù)據(jù)的初始設(shè)置值。三、數(shù)據(jù)范圍是數(shù)據(jù)的可取值范圍。這是讓數(shù)據(jù)的變化可控,特別是在數(shù)據(jù)處理和數(shù)據(jù)運(yùn)算的過(guò)程中,基于數(shù)據(jù)范圍可以檢測(cè)邏輯部分中的邏輯漏洞。
38.步驟108:在事件窗口內(nèi),當(dāng)接收到事件創(chuàng)建指令時(shí),響應(yīng)于事件創(chuàng)建指令創(chuàng)建多個(gè)空白事件,在每個(gè)空白事件內(nèi)將多個(gè)添加的邏輯組件依次進(jìn)行連接,并為多個(gè)添加的數(shù)據(jù)組件賦予參數(shù)信息,以得到多個(gè)包含用戶功能邏輯的功能事件。
39.其中,用戶功能邏輯為用戶終端所執(zhí)行的邏輯,用于實(shí)現(xiàn)目標(biāo)用戶的程序功能需求,例如修改文檔內(nèi)容、更改文檔顏色等,可以直接控制前端顯示界面的變化。事件窗口內(nèi)賦予的參數(shù)信息同樣包括數(shù)據(jù)介紹、數(shù)據(jù)初始值和數(shù)據(jù)范圍。
40.本步驟中,可創(chuàng)建多個(gè)空白事件。如圖5所示,在其中的一個(gè)空白事件內(nèi),允許從浮窗里通過(guò)拖拉拽的方式添加各種邏輯組件,然后由箭頭把各個(gè)邏輯元素連接起來(lái)以形成流程圖,這樣就可以得到基本的功能邏輯。當(dāng)然,也可以是魚(yú)骨圖、樹(shù)狀圖或其他形式來(lái)表達(dá)功能邏輯,在此不做具體限定。進(jìn)一步的,從浮窗里通過(guò)拖拉拽的方式添加各種數(shù)據(jù)組件,并為各個(gè)數(shù)據(jù)組件賦予參數(shù)信息,也就是賦予數(shù)據(jù)介紹、數(shù)據(jù)初始值和數(shù)據(jù)范圍。最后再通過(guò)連線和拖拉拽的形式,將邏輯組件中需要填充的數(shù)據(jù)和整體架構(gòu)中的數(shù)據(jù)組件進(jìn)行關(guān)聯(lián)綁定,就能得到完整用戶功能邏輯的功能事件。
41.可見(jiàn),本實(shí)施例中用流程圖等方式來(lái)表述程序的邏輯,這樣就可以直觀的展示判斷循環(huán)邏輯,實(shí)現(xiàn)邏輯實(shí)體化。并且由于是用組件和模塊的形式編輯程序,也不用像代碼那么實(shí)時(shí)注意代碼書(shū)寫格式以及代碼書(shū)寫的完整性。而且變量、邏輯、組件等是獨(dú)立且完整的,最終均是以字符串的形式存儲(chǔ),本實(shí)施例在編寫程序功能時(shí)也不會(huì)受上下代碼環(huán)境影響,此外功能的遷移非常方便,任何個(gè)體局部的遷移都無(wú)需配置環(huán)境。遷移之后的內(nèi)容,作
為初始狀態(tài),用戶修改之后作為第二狀態(tài),同時(shí)用戶也可以手動(dòng)添加多個(gè)狀態(tài),用于不同情況的使用。
42.步驟110:當(dāng)接收到事件關(guān)聯(lián)指令時(shí),響應(yīng)于事件關(guān)聯(lián)指令通過(guò)添加事件模塊或?qū)θ舾墒录翱谶M(jìn)行連線,以將多個(gè)功能事件進(jìn)行關(guān)聯(lián),并將事件窗口內(nèi)的邏輯組件和數(shù)據(jù)組件與樣式控制窗口內(nèi)數(shù)據(jù)模塊通過(guò)連線進(jìn)行關(guān)聯(lián)。
43.其中,事件模塊包含已關(guān)聯(lián)的功能事件的關(guān)聯(lián)事件信息,攜帶數(shù)據(jù)信息和返回?cái)?shù)據(jù)信息。
44.具體的,對(duì)于步驟108創(chuàng)建的多個(gè)功能事件而言,兩兩之間可以是觸發(fā)事件與響應(yīng)事件的關(guān)系,從而形成特定復(fù)雜的功能。本實(shí)施例中,通過(guò)將兩個(gè)功能事件的組件進(jìn)行連線,即可完成功能事件的關(guān)聯(lián)。
45.進(jìn)一步的,如圖6所示,通過(guò)將事件窗口內(nèi)邏輯組件的邏輯元素與樣式控制窗口內(nèi)的控制變量進(jìn)行連接,還可以實(shí)現(xiàn)前端的組件和背后的邏輯關(guān)聯(lián)。例如,當(dāng)基于功能事件的邏輯對(duì)數(shù)據(jù)進(jìn)行處理并得到數(shù)據(jù)結(jié)果后,需要將得到的數(shù)據(jù)結(jié)果在前端顯示。通過(guò)邏輯組件的邏輯元素與樣式控制窗口內(nèi)的控制變量的關(guān)聯(lián),便可以實(shí)現(xiàn)前端內(nèi)容的變化和控制。
46.現(xiàn)有的低代碼無(wú)代碼,還是文本代碼,都不能局部功能一邊演示一邊編輯程序功能。本實(shí)施例通過(guò)將事件窗口內(nèi)的邏輯組件和數(shù)據(jù)組件與樣式控制窗口內(nèi)數(shù)據(jù)模塊進(jìn)行關(guān)聯(lián),可以實(shí)現(xiàn)任何小范圍的演示調(diào)整。
47.步驟112:在服務(wù)器窗口內(nèi),當(dāng)接收到云邏輯創(chuàng)建指令時(shí),響應(yīng)于云邏輯創(chuàng)建指令基于用戶的程序功能需求將多個(gè)添加的邏輯組件依次進(jìn)行連接,并為多個(gè)添加的數(shù)據(jù)組件賦予參數(shù)信息,以得到云邏輯,將云邏輯的數(shù)據(jù)信息根據(jù)預(yù)設(shè)的存儲(chǔ)規(guī)則存儲(chǔ)到對(duì)應(yīng)的數(shù)據(jù)庫(kù),并將云邏輯和用戶的功能事件進(jìn)行關(guān)聯(lián)。
48.其中,云邏輯為放置于服務(wù)器的邏輯,包含用戶終端所執(zhí)行的邏輯。云邏輯無(wú)法直接與前端顯示界面進(jìn)行關(guān)聯(lián),但可以與用戶的功能事件進(jìn)行關(guān)聯(lián)。
49.本實(shí)施例中,參見(jiàn)圖7,基于用戶的程序功能需求,反復(fù)的執(zhí)行類似步驟108的內(nèi)容,以得到云邏輯。同時(shí)云邏輯要比第五步步驟多一個(gè)數(shù)據(jù)存儲(chǔ)的內(nèi)容,指的是數(shù)據(jù)根據(jù)預(yù)設(shè)的存儲(chǔ)規(guī)則將云邏輯存儲(chǔ)到數(shù)據(jù)庫(kù)里,不僅僅可以是在數(shù)據(jù)緩存里,也可以默認(rèn)是現(xiàn)有的數(shù)據(jù)庫(kù)位置。
50.參見(jiàn)圖8,將云邏輯和用戶的功能事件進(jìn)行關(guān)聯(lián)后,功能事件和云邏輯之間便可以進(jìn)行數(shù)據(jù)傳遞和反饋。具體的,在功能事件中有一類訪問(wèn)組件,可以直接連線到云邏輯以實(shí)現(xiàn)數(shù)據(jù)的傳遞,云邏輯則通過(guò)一個(gè)反饋組件實(shí)現(xiàn),云端對(duì)前端產(chǎn)生的訪問(wèn)結(jié)果;前端事件的訪問(wèn)組件里有一個(gè)獲取數(shù)據(jù)組件(獲取到的是偽數(shù)據(jù)),而就是數(shù)據(jù)傳遞的結(jié)果。例如,基于功能事件實(shí)現(xiàn)充值會(huì)員的功能,云邏輯反饋充值成功與否的結(jié)果和響應(yīng)的會(huì)員功能。
51.進(jìn)一步的,本實(shí)施例中還可以通過(guò)身份標(biāo)識(shí)(identity document,id),將原型文件編輯界面中各個(gè)窗口的若干個(gè)組件進(jìn)行關(guān)聯(lián)。其中,通過(guò)身份標(biāo)識(shí)關(guān)聯(lián)的組件允許統(tǒng)一修改組件樣式。這樣任何設(shè)計(jì)都可以同步,不需要人來(lái)手動(dòng)多次點(diǎn)添加、調(diào)整。例如,修改一個(gè)變量名只需要修改一處,那么其他地方的內(nèi)容也是同步調(diào)整,從而解決人在寫代碼中,不能輕易修改內(nèi)容的問(wèn)題。又例如,在代碼中如果要調(diào)整歸屬關(guān)系,也很麻煩。但是有了唯一id的作為指引,那么歸屬關(guān)系就可以隨意調(diào)整修改。通過(guò)id還可記錄同一組件的多個(gè)狀態(tài)(多狀態(tài)),從而查看歷史編寫的組件樣式,也可以作為不用業(yè)務(wù)的不同版本,可以隨時(shí)更換
和調(diào)整。
52.步驟114:輸出原型文件編輯界面在顯示窗口、屬性設(shè)置窗口、樣式控制窗口、事件窗口和服務(wù)器窗口的編輯過(guò)程中形成的原型信息,以得到原型文件。
53.原型信息包括運(yùn)行環(huán)境信息、組件信息、前端邏輯信息、云邏輯信息和參數(shù)信息等信息。其中,原型信息中的組件信息包括在顯示窗口、屬性設(shè)置窗口和樣式控制窗口形成的信息,原型信息中的前端邏輯信息包括在事件窗口形成的信息,原型信息中的云邏輯信息包括在服務(wù)器窗口形成的信息。
54.此外,原型信息中的參數(shù)信息包括樣式控制窗口內(nèi)創(chuàng)建的數(shù)據(jù),稱之為控制器數(shù)據(jù);也包括事件窗口內(nèi)創(chuàng)建的數(shù)據(jù),稱之為事件數(shù)據(jù);還包括服務(wù)器窗口內(nèi)創(chuàng)建的數(shù)據(jù),稱之為云數(shù)據(jù)。該控制器數(shù)據(jù)實(shí)際相當(dāng)于一個(gè)控制開(kāi)關(guān)。該事件數(shù)據(jù)實(shí)質(zhì)就是一個(gè)普通的數(shù)據(jù),一般都是以緩存形式存儲(chǔ),都貫穿相應(yīng)的環(huán)境,實(shí)現(xiàn)相應(yīng)的數(shù)據(jù)內(nèi)容傳遞和記錄。一般事件數(shù)據(jù)都是包含控制器數(shù)據(jù)的,所以用戶一般都是需要先在這個(gè)內(nèi)容里創(chuàng)建好數(shù)據(jù)然后復(fù)用到控制器欄里,這樣就形成很好的關(guān)聯(lián)效果。云數(shù)據(jù)同事件數(shù)據(jù)類似,不過(guò)還包括數(shù)據(jù)存儲(chǔ)信息(也即與存儲(chǔ)云邏輯相關(guān)的信息)。本實(shí)施例中,控制器數(shù)據(jù)、事件數(shù)據(jù)和云數(shù)據(jù)之間允許相互傳遞和替換的。
55.輸出原型文件編輯界面在各個(gè)窗口的編輯過(guò)程中形成的原型信息,便得到原型文件。該原型文件的數(shù)據(jù)結(jié)構(gòu)為字符串。
56.上述獲取原型文件的過(guò)程中,僅通過(guò)拖拉拽、連線、箭頭等直觀形式進(jìn)行操作,這樣就不會(huì)出現(xiàn)內(nèi)容缺失和以及信息編輯錯(cuò)誤。同時(shí)用流程圖等方式來(lái)表述程序的邏輯,直觀的展示判斷循環(huán)邏輯,實(shí)現(xiàn)邏輯實(shí)體化。并且由于是用組件和模塊的形式編輯程序,也不用像不用像代碼那么實(shí)時(shí)注意代碼書(shū)寫格式以及代碼書(shū)寫的完整性。而且變量、邏輯、組件等是獨(dú)立且完整的,最終均是以字符串的形式存儲(chǔ),本實(shí)施例在編寫程序功能時(shí)也不會(huì)受上下代碼環(huán)境影響,此外功能的遷移非常方便,任何個(gè)體局部的遷移都無(wú)需配置環(huán)境。遷移之后的內(nèi)容,作為初始狀態(tài),用戶修改之后作為第二狀態(tài),同時(shí)用戶也可以手動(dòng)添加多個(gè)狀態(tài),用于不同情況的使用。本實(shí)施例通還過(guò)將事件窗口內(nèi)的邏輯組件和數(shù)據(jù)組件與樣式控制窗口內(nèi)數(shù)據(jù)模塊進(jìn)行關(guān)聯(lián),可以實(shí)現(xiàn)任何小范圍的演示調(diào)整。
57.如圖9所示,圖9為一個(gè)實(shí)施例中程序編寫方法的流程示意圖,本實(shí)施例中程序編寫方法提供的步驟包括:
58.步驟902,獲取目標(biāo)程序?qū)?yīng)的原型文件。
59.基于上述步驟102-104,便能得到目標(biāo)程序?qū)?yīng)的原型文件,此處不再贅述。該原型文件包括運(yùn)行環(huán)境信息、組件信息、前端邏輯信息、云邏輯信息和參數(shù)信息等不同維度的原型信息。
60.進(jìn)一步的,對(duì)原型文件進(jìn)行初步的分析,根據(jù)得到的分析結(jié)果對(duì)原型文件的編譯運(yùn)行環(huán)境進(jìn)行初始化,從而完成后續(xù)轉(zhuǎn)換代碼的準(zhǔn)備工作。
61.步驟904,獲取原始代碼規(guī)范和原始轉(zhuǎn)化規(guī)則,根據(jù)原型文件對(duì)原始代碼規(guī)范進(jìn)行篩選,以得到目標(biāo)代碼規(guī)范和目標(biāo)轉(zhuǎn)化規(guī)則。
62.具體的來(lái)說(shuō),代碼規(guī)范用于對(duì)組件信息、前端邏輯信息、云邏輯信息進(jìn)行轉(zhuǎn)換,包括:規(guī)范介紹、運(yùn)行環(huán)境規(guī)范、原型功能的對(duì)應(yīng)代碼規(guī)范、原型功能的代碼格式規(guī)范和功能代碼的放置位置規(guī)范。
63.a、規(guī)范介紹,包括各種規(guī)范的簡(jiǎn)介(名稱)和詳細(xì)介紹,用于記錄不同代碼規(guī)范的細(xì)節(jié)和注意事項(xiàng)。規(guī)范介紹在程序代碼的編譯過(guò)程中,主要是為了介紹各種代碼規(guī)范,以便于下次查詢和修改。如果程序的運(yùn)行平臺(tái)或者系統(tǒng)有變化,那么就可以根據(jù)規(guī)范介紹里已有的內(nèi)容,去有理有據(jù)的修改特定的代碼規(guī)范,保證修改后的代碼規(guī)范之后不會(huì)出現(xiàn)錯(cuò)誤。
64.b、運(yùn)行環(huán)境規(guī)范,包括不同代碼規(guī)范的有效運(yùn)行環(huán)境,也是代碼規(guī)范使用的前提條件。例如基于特定代碼規(guī)范轉(zhuǎn)換后的代碼允許在js文件下正常運(yùn)行,但并不允許在json文件下使用??梢岳斫獾氖?,代碼只有在合適的環(huán)境下才能實(shí)現(xiàn)意料之內(nèi)的功能設(shè)計(jì),可控的實(shí)現(xiàn)原型里所描述的功能。
65.c、原型功能的對(duì)應(yīng)代碼規(guī)范,包括不同原型功能對(duì)應(yīng)的填充式內(nèi)容。該原型功能為原型文件所能實(shí)現(xiàn)的其中一個(gè)功能;而填充式內(nèi)容為預(yù)先創(chuàng)建的代碼框架,其可實(shí)現(xiàn)的功能與原型功能匹配。
66.d、原型功能的代碼格式規(guī)范,包括填充式內(nèi)容中的參數(shù)格式規(guī)范。此處的規(guī)范決定了最終導(dǎo)出的代碼內(nèi)容的格式。一般情況下填充式內(nèi)容中會(huì)有一些內(nèi)容需要相應(yīng)的參數(shù)去替換,例如if判斷語(yǔ)句中的判斷條件需要根據(jù)實(shí)際需求做相應(yīng)調(diào)整,這樣才能滿足用戶的個(gè)性化需求,以及一些意料之外的創(chuàng)意和創(chuàng)新。
67.e、功能代碼的放置位置規(guī)范,包括不同片段代碼的目標(biāo)放置位置。基于上述c、d項(xiàng)轉(zhuǎn)換后的代碼可能會(huì)有很多段,需要把每段代碼放置到不同文件里相應(yīng)的位置上,并作相應(yīng)的適配,才能實(shí)現(xiàn)代碼正常有效的觸發(fā)和運(yùn)行。這里的目標(biāo)放置位置的表述方式主要有兩種:一個(gè)是絕對(duì)的放置位置,體現(xiàn)為把程序的開(kāi)始位置作為起點(diǎn),一直到代碼描述位置的對(duì)應(yīng)位置關(guān)系。這在修改全局配置信息時(shí),還有在執(zhí)行某個(gè)邏輯需要添加一個(gè)全局變量時(shí),都是采用該絕對(duì)的放置位置。另一個(gè)是相對(duì)的放置位置,體現(xiàn)為把當(dāng)前處理代碼位置為起點(diǎn),然后到直到代碼描述位置的對(duì)應(yīng)位置關(guān)系。這在修改當(dāng)前正在轉(zhuǎn)化代碼的頁(yè)面配置信息,還有在執(zhí)行某個(gè)邏輯需要添加一個(gè)頁(yè)面變量時(shí),都是采用該相對(duì)的放置位置。
68.而轉(zhuǎn)化規(guī)則用于對(duì)原型文件的參數(shù)信息進(jìn)行轉(zhuǎn)換,包括:參數(shù)介紹、參數(shù)對(duì)應(yīng)的實(shí)際意義和參數(shù)內(nèi)容。
69.a、參數(shù)介紹,包括不同類型參數(shù)的簡(jiǎn)介(名稱)和詳細(xì)介紹,用于記錄不同參數(shù)的細(xì)節(jié)和注意事項(xiàng)。同規(guī)范介紹的作用相同,就不再贅述。
70.b、參數(shù)對(duì)應(yīng)的實(shí)際意義,包括原型文件中不同參數(shù)對(duì)應(yīng)的代碼含義。比如原型文件中的參數(shù)10,在其中一個(gè)平臺(tái)中對(duì)應(yīng)“大”的含義,而在另一個(gè)平臺(tái)對(duì)應(yīng)“字體加粗”的含義。
71.c、參數(shù)內(nèi)容,包括不同參數(shù)的實(shí)際轉(zhuǎn)換結(jié)果。是當(dāng)滿足參數(shù)對(duì)應(yīng)的某一種實(shí)際意義時(shí),返回的結(jié)果內(nèi)容。因此可以理解為“參數(shù)對(duì)應(yīng)的實(shí)際意義”是參數(shù)的轉(zhuǎn)換判斷條件,以確定原型文件中的參數(shù)轉(zhuǎn)換為哪一類的代碼參數(shù);而“參數(shù)內(nèi)容”是參數(shù)的轉(zhuǎn)換結(jié)果。
72.綜上,可以將代碼規(guī)范理解為架構(gòu),而轉(zhuǎn)化規(guī)則就是填充的磚塊。基于這兩個(gè)部分的內(nèi)容便可以對(duì)原型文件進(jìn)行轉(zhuǎn)換。
73.本實(shí)施例中,首先獲取原始代碼和原始轉(zhuǎn)化規(guī)則。但是該原始代碼和原始轉(zhuǎn)化規(guī)則是一個(gè)通用的內(nèi)容,其中很多內(nèi)容在此處的轉(zhuǎn)換過(guò)程中是無(wú)效的,因此還需進(jìn)一步基于原型文件去做篩選,以得到適配的目標(biāo)代碼規(guī)范和目標(biāo)轉(zhuǎn)化規(guī)則。
74.在一個(gè)具體實(shí)施例中,需要做三次篩選。在第一次篩選時(shí),根據(jù)運(yùn)行環(huán)境信息和運(yùn)
行環(huán)境規(guī)范對(duì)原始代碼規(guī)范和原始轉(zhuǎn)化規(guī)則進(jìn)行篩選,以得到符合運(yùn)行環(huán)境信息的第一代碼規(guī)范和第一轉(zhuǎn)化規(guī)則。其中,原始代碼規(guī)范由若干存在父子級(jí)關(guān)系和并列關(guān)系的代碼規(guī)范組成,原始轉(zhuǎn)化規(guī)則由若干存在父子級(jí)關(guān)系和并列關(guān)系的轉(zhuǎn)化規(guī)則成。在第二次篩選時(shí),根據(jù)原型功能對(duì)第一代碼規(guī)范和第一轉(zhuǎn)化規(guī)則進(jìn)行篩選,以得到能實(shí)現(xiàn)原型功能的第二代碼規(guī)范和第二轉(zhuǎn)化規(guī)則。在第三次篩選時(shí),根據(jù)填充式內(nèi)容,及原型文件中的參數(shù)和轉(zhuǎn)化規(guī)則中的參數(shù)相關(guān)項(xiàng)對(duì)第二代碼規(guī)范和第二轉(zhuǎn)化規(guī)則進(jìn)行篩選,以得到能進(jìn)行轉(zhuǎn)換的目標(biāo)代碼規(guī)范和目標(biāo)轉(zhuǎn)化規(guī)則。
75.步驟906,根據(jù)目標(biāo)代碼規(guī)范和目標(biāo)轉(zhuǎn)化規(guī)則將原型文件轉(zhuǎn)換為完整代碼;對(duì)完整代碼進(jìn)行封裝,以得到目標(biāo)程序?qū)?yīng)的可執(zhí)行工程文件。
76.具體的,首先,根據(jù)原型文件的原型信息、目標(biāo)代碼規(guī)范中的c、原型功能的對(duì)應(yīng)代碼規(guī)和d、原型功能的代碼格式規(guī)范,匹配不同原型功能的填充式內(nèi)容和參數(shù)格式;
77.再根據(jù)目標(biāo)轉(zhuǎn)化規(guī)則中的b、參數(shù)對(duì)應(yīng)的實(shí)際意義將原型信息中的參數(shù)轉(zhuǎn)化為對(duì)應(yīng)的多個(gè)代碼參數(shù),以填入填充式內(nèi)容中。再根據(jù)目標(biāo)代碼規(guī)范,將多個(gè)填入了代碼參數(shù)的填充式內(nèi)容進(jìn)行組合,以得到多個(gè)片段代碼。具體的,該多個(gè)片段代碼包括一個(gè)主體片段代碼和若干個(gè)輔助片段代碼,其中主體片段代碼基于目標(biāo)代碼規(guī)范中父級(jí)的代碼規(guī)范確定主片段代碼位置。輔助片段代碼基于目標(biāo)代碼規(guī)范中e、功能代碼的放置位置規(guī)范確定目標(biāo)放置位置,而目標(biāo)放置位置位于主片段代碼位置之內(nèi)。
78.最后選擇在目標(biāo)代碼規(guī)范中,每條原型信息對(duì)應(yīng)滿足條件的且存在并列關(guān)系的其中一個(gè)代碼規(guī)范執(zhí)行,或選擇在目標(biāo)轉(zhuǎn)化規(guī)則中,每條原型信息對(duì)應(yīng)滿足條件的且存在并列關(guān)系的其中一個(gè)轉(zhuǎn)化規(guī)則執(zhí)行,以根據(jù)目標(biāo)放置位置將不同的輔助片段代碼放置于主體片段中,從而得到完整代碼。
79.進(jìn)一步的,根據(jù)原型文件的結(jié)構(gòu),對(duì)完整代碼進(jìn)行封裝,以轉(zhuǎn)化為可以實(shí)現(xiàn)原型文件里的所描述功能的可執(zhí)行工程文件。同時(shí)還可以將獲得的可執(zhí)行工程文件,按照運(yùn)行平臺(tái)的要求發(fā)布到指定運(yùn)行平臺(tái)上,那么就獲得了在指定運(yùn)行平臺(tái)上實(shí)現(xiàn)原型文件所描述的目標(biāo)程序。
80.上述程序編寫方法,從設(shè)計(jì)層面設(shè)計(jì)包含程序功能的原型文件,再配合原型文件的轉(zhuǎn)化算法,可是實(shí)現(xiàn)程序的快速編寫。因此用戶也不用記憶代碼的格式,以及代碼單詞的特定意義和用法等。此外,還可以實(shí)現(xiàn)多平臺(tái)適配,換句話說(shuō),就是可以打破不同程序系統(tǒng)之間的生態(tài)壁壘,一次設(shè)計(jì)可以適配到所有平臺(tái)。
81.一種程序編寫設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在該存儲(chǔ)器中并可在該處理器上執(zhí)行的計(jì)算機(jī)程序,該處理器執(zhí)行該計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如下步驟:獲取目標(biāo)程序?qū)?yīng)的原型文件;其中,原型文件為描述程序功能需求的字符串,字符串包含不同維度的原型信息,不同維度的原型信息包括運(yùn)行環(huán)境信息、組件信息、前端邏輯信息、云邏輯信息和參數(shù)信息;獲取原始代碼規(guī)范和原始轉(zhuǎn)化規(guī)則,根據(jù)原型文件對(duì)原始代碼規(guī)范進(jìn)行篩選,以得到目標(biāo)代碼規(guī)范和目標(biāo)轉(zhuǎn)化規(guī)則;其中,目標(biāo)代碼規(guī)范和目標(biāo)轉(zhuǎn)化規(guī)則適配于原型文件;根據(jù)目標(biāo)代碼規(guī)范和目標(biāo)轉(zhuǎn)化規(guī)則將原型文件轉(zhuǎn)換為完整代碼;對(duì)完整代碼進(jìn)行封裝,以得到目標(biāo)程序?qū)?yīng)的可執(zhí)行工程文件。
82.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如下步驟:獲取目標(biāo)程序?qū)?yīng)的原型文件;其中,原型文件為描述
程序功能需求的字符串,字符串包含不同維度的原型信息,不同維度的原型信息包括運(yùn)行環(huán)境信息、組件信息、前端邏輯信息、云邏輯信息和參數(shù)信息;獲取原始代碼規(guī)范和原始轉(zhuǎn)化規(guī)則,根據(jù)原型文件對(duì)原始代碼規(guī)范進(jìn)行篩選,以得到目標(biāo)代碼規(guī)范和目標(biāo)轉(zhuǎn)化規(guī)則;其中,目標(biāo)代碼規(guī)范和目標(biāo)轉(zhuǎn)化規(guī)則適配于原型文件;根據(jù)目標(biāo)代碼規(guī)范和目標(biāo)轉(zhuǎn)化規(guī)則將原型文件轉(zhuǎn)換為完整代碼;對(duì)完整代碼進(jìn)行封裝,以得到目標(biāo)程序?qū)?yīng)的可執(zhí)行工程文件。
83.需要說(shuō)明的是,上述程序編寫方法、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)屬于一個(gè)總的發(fā)明構(gòu)思,程序編寫方法、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)實(shí)施例中的內(nèi)容可相互適用。
84.本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可存儲(chǔ)于一非易失性計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,本技術(shù)所提供的各實(shí)施例中所使用的對(duì)存儲(chǔ)器、存儲(chǔ)、數(shù)據(jù)庫(kù)或其它介質(zhì)的任何引用,均可包括非易失性和/或易失性存儲(chǔ)器。非易失性存儲(chǔ)器可包括只讀存儲(chǔ)器(rom)、可編程rom(prom)、電可編程rom(eprom)、電可擦除可編程rom(eeprom)或閃存。易失性存儲(chǔ)器可包括隨機(jī)存取存儲(chǔ)器(ram)或者外部高速緩沖存儲(chǔ)器。作為說(shuō)明而非局限,ram以多種形式可得,諸如靜態(tài)ram(sram)、動(dòng)態(tài)ram(dram)、同步dram(sdram)、雙數(shù)據(jù)率sdram(ddrsdram)、增強(qiáng)型sdram(esdram)、同步鏈路(synchlink)dram(sldram)、存儲(chǔ)器總線(rambus)直接ram(rdram)、直接存儲(chǔ)器總線動(dòng)態(tài)ram(drdram)、以及存儲(chǔ)器總線動(dòng)態(tài)ram(rdram)等。
85.以上實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡(jiǎn)潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說(shuō)明書(shū)記載的范圍。
86.以上實(shí)施例僅表達(dá)了本技術(shù)的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本技術(shù)專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本技術(shù)構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本技術(shù)的保護(hù)范圍。因此,本技術(shù)專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1