天天看點

自動程式設計體系設想自動程式設計體系設想

自動程式設計體系設想自動程式設計體系設想

随着語言的發展,編寫的代碼将越來越精簡,而且領域化(不同領域用不同的程式設計語言,以達到開發效率和程式性能的最優化)。

在各種設計架構、基礎庫日益完善的情況下,上層應用中的程式設計基本上就是找api,建構一個調用邏輯,然後反複的開發自測試。下層架構/函數庫開發一般都基于開源代碼不斷優化,同樣反複地自測試。

自動程式設計體系設想自動程式設計體系設想

在軟體開發中,程式設計這一環節事實上越來越成為簡單重複的勞動。有重複就有自動化的欲望,也是以有了自動程式設計的思想。

自動程式設計體系設想自動程式設計體系設想

自動程式設計,指的是根據測試用例自動生成符合測試用例的程式。簡而言之,将資料變成程式。

與代碼生成器(模闆驅動開發)相比,自動程式設計強調由預期結果生成程式邏輯,而不僅僅是由邏輯生成程式代碼。

自動程式設計體系設想自動程式設計體系設想

如此架構下,在一般的軟體開發中,不需要資深程式員/架構師的參與,他們從事平台性的工作,開發與測試不分,有測試用例就會生成代碼。

有了測試用例自動轉化成程式的機制,開發人員的主要工作就是搭建自動程式設計環境,基于對需求的了解編寫測試用例,并且對自動生成的代碼進行測試。這個工作事實上就是現在測試人員的工作。原來軟體開發流程中的測試環節已經沒有存在價值。

沒有測試環節并不意味着産品品質得不到保障,事實上,測試環節是完全被開發覆寫了,由于程式自動化生成,避免了人寫代碼出低級錯誤的可能,産品品質更有保障。

在能夠根據用例表生成代碼的情況下,完善的測試用例資料即等同于程式。所有的需求變更反映到用例資料的更新。

一個程式好不好用,一方面在于其需求設計是否合理,測試用例是否設計完備;另一方面,在于建構程式的環境是否有足夠豐富的代碼源(早期來源于程式員的編寫,後期主要是自動生成的有效代碼段),是否有足夠的計算能力。

總而言之,程式來源于資料,好壞取決于資料量和資料處理能力。

程式開發者可以把測試用例資料的編寫規範開放,使使用者在使用的過程中自行輸入新的測試用例資料,傳到開發者的服務端或直接本地生成更加優秀的程式。

繼續閱讀