程式設計後階段看法

2021-07-22 05:23:27 字數 1354 閱讀 1983

談程式設計不可避免的要談到程式語言,而程式語言之所以出現,

其最終的目的仍然是提供一種抽象方法來解決現實中的問題,問題本身的複雜程度往往取決於抽象的種類和質量

在這個階段,從程式設計本身來說最核心的還是演算法和資料結構。這也是任何程式最重要的兩個基本要素。

既把問題域本身涉及到的資料對映到合適的資料結構,把通過程式解決問題的過程對映為具體的演算法邏輯。那麼程式設計實際的難點在哪?不是演算法本身或資料結構本身,而是當你拿到問題域的時候知道如何理解和分解問題,並將其對映到最適合的演算法或資料結構上。

這個對映其實本身不是程式解決的問題,還是人腦在思維,程式本身僅僅是在實現自動化的過程

那麼程式在演算法實現過程中最基本的是什麼?我們看不同的程式片段可以看到的還是if/else,或者for/while,然後才是資料或資料型別定義。而前者即寫任何乙個程式中最重要的控制邏輯。那麼程式設計裡難的實際上不是控制語句本身,

而是在把問題域分解後知道如何理解判斷邏輯,如何將問題域中重複的東西抽象為迴圈,如何從問題域中抽象出資料結構。乙個人程式設計能力本身的好壞,或者說程式設計思維能力,重點其實是體現在這種對映能力,也可以稱這種對映能力為數學建模能力。舉個例子來說,如果乙個問題你已經知道了可以對映到構建二叉樹,然後通過遍歷的方式來解決了,那麼可以說然後乙個掌握了語言語法的人都可以寫出程式來。那麼實際程式設計思維或能力的強弱則在於前面談到的對映和建模。

對於物件導向的核心特徵談的比較多的是封裝,繼承和多型。這些可能比較偏技術詞彙,那麼再簡單點來說物件導向程式設計思維其核心則是找到問題域中的物件,將其抽象為類,識別類應該有的屬性和方法特徵,同時去理清類和類之間的關聯和互動關係,將問題本身的解決過程對映到類和類之間的方法互動上。如果從這個意義上來說,好像也不是很複雜,那麼實際物件導向程式設計的難點實際在為了保持**足夠的健壯性,可維護性,可擴充套件性而做出的各種抽象,包括介面的提取和組合,控制或邏輯類的增加等,這些本質已經轉換到技術域類本身。

除了上面談到的,再談下其它的一些內容。程式設計裡面有乙個重要的思想即是復用,從最簡單的函式,到模版庫,類庫,再到更上層的公共元件等,都在體現復用的思想,而復用本身的目的則主要是提公升開發效率,提公升可維護性和**的可讀性等。

復用可以理解為程式設計過程中的程式設計思想更加恰當。

程式設計的思想是自動化,不要簡單的理解為程式語言能夠幫助你解決建模和對映的難題,程式設計的自動化更多的還是體現在機器可以自動化的進行大量計算和運算,而這個運算是通過我們的程式進行的。

程式中體現的乙個重點我更喜歡把它理解為迴圈,從抽象中去發現和發覺一種可自動化的迴圈,這種迴圈的處理正是程式的強項。任何人都應該有這種自動化的程式設計思維,即懶人思維,重複的事情一定不要自己手工重複完成。

測試技術的幾個階段及看法

個人認為測試技術的發展經歷了以下幾個階段 一,純手工測試階段 測試是從使用者角度出發,去使用產品以檢測是否符合預期的工作。所以最基本的測試技術也就是手工測試,根據需求文件,編寫相應的測試用例。然後根據具體的測試流程來做 1 需求評審。此時測試人員需要測試需求是否存在不合理的地方,從需求不把不符合使用...

對缺點看法的6個階段

最近,漸漸梳理出來,自己對個人缺點看法的6個階段,與大家交流一下。第二階段,看到自己的缺點了,知道不知道 但不在乎,認為沒什麼大不了的,我的長處可以完全彌補掉這些缺點,仍然能成事。比如,不喜歡和人溝通 那麼,我想好的方案就去推進,你們不同意是你們不懂,懶得和你們講,照我說的做就行了。第三階段,意識到...

程式設計的6個階段

第一階段 此階段主要是能熟練地使用某種語言。這就相當於練武中的套路和架式這些表面的東西。第二階段 此階段能精通基於某種平台的介面 例如我們現在常用的win 32的api函式 以及所對應語言的自身的庫函式。到達這個階段後,也就相當於可以進行真實散打對練了,可以真正地在實踐中做些應用。第三階段 此階段能...