隨著語言的發展,編寫的**將越來越精簡,而且領域化(不同領域用不同的程式語言,以達到開發效率和程式效能的最優化)。
在各種設計框架、基礎庫日益完善的情況下,上層應用中的程式設計基本上就是找api,構建乙個呼叫邏輯,然後反覆的開發自測試。下層框架/函式庫開發一般都基於開源**不斷優化,同樣反覆地自測試。
在軟體開發中,程式設計這一環節事實上越來越成為簡單重複的勞動。有重複就有自動化的慾望,也因此有了自動程式設計的思想。
自動程式設計,指的是根據測試用例自動生成符合測試用例的程式。簡而言之,將資料變成程式。
與**生成器(模板驅動開發)相比,自動程式設計強調由預期結果生成程式邏輯,而不僅僅是由邏輯生成程式**。
如此框架下,在一般的軟體開發中,不需要資深程式設計師/架構師的參與,他們從事平台性的工作,開發與測試不分,有測試用例就會生成**。
有了測試用例自動轉化成程式的機制,開發人員的主要工作就是搭建自動程式設計環境,基於對需求的理解編寫測試用例,並且對自動生成的**進行測試。這個工作事實上就是現在測試人員的工作。原來軟體開發流程中的測試環節已經沒有存在價值。
沒有測試環節並不意味著產品質量得不到保障,事實上,測試環節是完全被開發覆蓋了,由於程式自動化生成,避免了人寫**出低階錯誤的可能,產品質量更有保障。
在能夠根據用例表生成**的情況下,完善的測試用例資料即等同於程式。所有的需求變更反映到用例資料的更新。
乙個程式好不好用,一方面在於其需求設計是否合理,測試用例是否設計完備;另一方面,在於構建程式的環境是否有足夠豐富的**源(早期**於程式設計師的編寫,後期主要是自動生成的有效**段),是否有足夠的計算能力。
總而言之,程式**於資料,好壞取決於資料量和資料處理能力。
程式開發者可以把測試用例資料的編寫規範開放,使使用者在使用的過程中自行輸入新的測試用例資料,傳到開發者的服務端或直接本地生成更加優秀的程式。
巫師程式語言「咒語」 設想
注 乙個計算器。注 2008年5月9日編寫 注 作者 金留慶 運用 巫師咒語 0.1編寫 時還沒有相應編譯器 注 作者的部落格 http aush352.blog.163.com 宣告首字 尾字 運算子 狀態。狀態為 首字 運算子為 首字 尾字 0 點數字按鈕時 檢查狀態 若狀態為 首字 首字 首字...
程式設計 網路知識體系
交換機 switch 意為 開關 是一種用於電 光 訊號 的網路裝置,用人工或裝置自動完成的方法,把要傳輸的資訊送到符合要求的相應路由上的技術的統稱。路由器 router 連線兩個或多個網路的硬體裝置,在網路間起閘道器的作用。兩者的區別主要是所處的osi層級不一樣。osi open system i...
Winsocket程式設計之TCP IP體系結構
一 tcp ip 體系結構與特點 1 tcp ip體系結構 tcp ip協議實際上就是在物理網上的一組完整的網路協議。其中tcp是提供傳輸層服務,而ip則是提供網路層服務。tcp ip包括以下協議 結構如圖1.1 圖1.1 ip 網間協議 internet protocol 負責主機間資料的路由和網...