两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

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

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

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


背景技術(shù):

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


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

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