新聞中心
盡管計(jì)算機(jī)技術(shù)一直在快速演進(jìn),但不少年代久遠(yuǎn)的相關(guān)書籍與論文仍然包含大量寶貴的指導(dǎo)性信息。編程當(dāng)中包含一個(gè)易于自動(dòng)化的層,被稱為編碼——其類似于測(cè)試之于檢查。而測(cè)試與編程本身又人性于開(kāi)發(fā)這一宏觀概念。

平泉網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
在今天的文章中,我們將回顧出版于1972年的《表達(dá)與意義(Representation and Meaning)》,其中囊括了由1960年到1965年之間發(fā)表的多篇論文。
首先是書中2.2章節(jié)內(nèi)提到的由Herbert A. Simon撰寫的《啟發(fā)式編譯器(The Heuristic Compiler)》一文:
二者的一大區(qū)別在于,我們將相對(duì)簡(jiǎn)單的任務(wù)稱為“編碼”,而將比較廣泛且更為艱巨的任務(wù)稱為“編程”——其可能包含選擇或者設(shè)計(jì)一種適當(dāng)?shù)膯?wèn)題表達(dá)方式,而前者則不涉及這一點(diǎn)。
這不禁讓我想到了與測(cè)試、檢查與自動(dòng)化相關(guān)的討論——特別是以下幾個(gè)問(wèn)題:
- 我們無(wú)法實(shí)現(xiàn)自動(dòng)化測(cè)試,但可實(shí)現(xiàn)自動(dòng)化檢查。
- 我們?yōu)楹尾挥懻摼幊套詣?dòng)化?
我們無(wú)法實(shí)現(xiàn)自動(dòng)化測(cè)試; 但可實(shí)現(xiàn)自動(dòng)化檢查
關(guān)于編碼與編程的表達(dá)則存在著類似于檢查與測(cè)試間的關(guān)系理解。
- 編程與測(cè)試:
在廣泛性與難度上高于編碼與檢查。
涉及對(duì)適當(dāng)問(wèn)題加以表達(dá)的選擇與設(shè)計(jì)。
- 編碼與檢查:一種對(duì)編程或測(cè)試內(nèi)已完成工作的表達(dá)。
我們?yōu)楹尾挥懻摼幊套詣?dòng)化?
之所以不討論編程自動(dòng)化,是因?yàn)槲覀兡軌蜻M(jìn)行自動(dòng)編碼,具體包括:
- 代碼自動(dòng)補(bǔ)全。
- 宏系統(tǒng)。
- 自動(dòng)生成代碼注釋,即projectlombok。
- 翻譯/編譯器。
在涉及編碼時(shí),我們往往總會(huì)想到如何以自動(dòng)化方式加以實(shí)現(xiàn)。而且自存在編碼這一概念時(shí),我們就已經(jīng)開(kāi)始采用自動(dòng)化機(jī)制。
我個(gè)人從業(yè)以來(lái)參與的***個(gè)項(xiàng)目就是利用JSP圖生成程序代碼。在該項(xiàng)目中,我會(huì)利用自動(dòng)方式生成C與COBOL代碼。
Herbert A. Simon在這篇論文中將編程任務(wù)的自動(dòng)化執(zhí)行視為一種問(wèn)題解決實(shí)踐。而編碼自動(dòng)化則已經(jīng)成為一種給定且理所當(dāng)然的前提。
圖表
我在自己的讀書筆記中繪制了這樣一份圖表:
并在圖表中添加了以下附注信息:
- “…”代表開(kāi)發(fā)并不只包含編程與測(cè)試這一事實(shí)。
- 編程與測(cè)試皆擁有自己的多個(gè)表達(dá)層——其中一些可以輕松實(shí)現(xiàn)自動(dòng)化處理,另一些則必須人為介入(難以實(shí)現(xiàn)自動(dòng)化)。
- 我們會(huì)對(duì)其中的“簡(jiǎn)單”層進(jìn)行自動(dòng)化。
為了讓大家看得更清楚,這里我整理出了更為清晰的圖表版本:
- “-”代表每一項(xiàng)所謂“高級(jí)任務(wù)集”都擁有與之對(duì)應(yīng)的、易于實(shí)現(xiàn)自動(dòng)化的低級(jí)層(可能具備或不具備對(duì)應(yīng)名稱)。
- 我在檢查表達(dá)當(dāng)中添加了“斷言”一項(xiàng),因?yàn)槲覀儠?huì)對(duì)if(x==2){return false;}這類特定條件進(jìn)行檢查,并在報(bào)告與監(jiān)控內(nèi)容中添加相關(guān)檢查結(jié)果。我們利用這種斷言中止自動(dòng)化流程的執(zhí)行。
總結(jié)
我嘗試開(kāi)發(fā)一套自動(dòng)化模型以作為軟件開(kāi)發(fā)流程中的組成部分。這意味著我希望盡量避免被束縛在測(cè)試自動(dòng)化乃至自動(dòng)化這一概念本身,而應(yīng)將其視為更為廣泛的開(kāi)發(fā)流程內(nèi)工具支持機(jī)制(而非局限于測(cè)試或者測(cè)試人員群體之內(nèi))。
我認(rèn)為這種方式能夠讓人們更輕松地通過(guò)溝通確定程序員這一職能角色,因?yàn)槲覀儾辉儆懻撟詣?dòng)化測(cè)試這一議題——我們實(shí)際討論的是如何對(duì)開(kāi)發(fā)方法中的常規(guī)自動(dòng)化流程加以延伸,具體包括:
- 在應(yīng)用程序內(nèi)執(zhí)行代碼流。
- 檢查結(jié)果。
- 斷言這些檢查結(jié)果。
這就是我通過(guò)計(jì)算科學(xué)的歷史文獻(xiàn)中發(fā)現(xiàn)的寶貴價(jià)值。也希望大家能在閑暇之時(shí)翻翻故紙堆,沒(méi)準(zhǔn)會(huì)找到一些意外的驚喜。標(biāo)題
網(wǎng)站標(biāo)題:我們?cè)撊绾螌⒕幊?、測(cè)試、編碼與檢查聯(lián)系起來(lái)
文章起源:http://www.5511xx.com/article/dpcpsip.html


咨詢
建站咨詢
