開發語言的思考和理解

2021-08-15 23:38:31 字數 1152 閱讀 2650

什麼是程式的開發語言???

面對這個問題,也許作為開發人員的第一反應是:開發語言?寫程式的啊!

還有深刻點的:開發語言?就是人與計算機溝通的語言啊!

但是,也許從另外乙個角度看,程式開發語言是否可以理解為人類文明中的英語、漢語等同樣的文化事物?語言可以這樣定義:是人們進行溝通、交流的主要表達方式。只是對於程式開發語言來講,這個定義中的「人們」的範圍主要是指軟體開發人員。而程式開發語言編譯出來的程式可以視為這個語言的副產品。

在這種理解的基礎上,我們看程式開發語言,尤其是看開發人員寫的**,特別是看開發人員如何寫**,寫成怎樣的**?就很有意思了。

既然程式開發語言如英語、漢語,那程式開發人員寫的**就是文章,這些文章看上去會是說明文、記敘文、散文、還是詩歌?但也許更多的看上去像是天書。

為什麼有的企業招聘開發人員時,可能會希望開發人員閱讀、學習過某些著名框架的源**,因為這些源**往往是程式**中的史詩級巨著。

同樣是**,為何有的能寫成天書(即使其作者可能乙個月後再回頭看,也無法立即理解自己寫的**),而有的能寫成似優美的文章?原因可能是對編碼規範的執行、對業務邏輯的理解程度,對軟體設計抽象的高度、對系統設計模式的掌握和對開發語言本質的認識。

對開發語言本質的認識如本文開始所述。到這裡,在使用物件導向語言撰寫**時,最基礎、核心的原則要求則是:**的能體現語言的主語、賓語和動詞。竊以為,體現了這一點,則真正理解了物件導向語言的內涵。

對編碼規範的執行,是最基礎的要求。最簡單、常見的問題是:命名的規範。很多**裡面乙個變數命名可以是 a、b、c,i、j、k,這種神一樣的命名可以統稱為神奇變數,目的只有乙個:我的想法不告訴你,你自己猜......。俗話說,名不正則言不順。在這裡,理解這句話就是取名都取不好,說話(語言)也說不利落。作者就是不想用程式語言好好說話,就是不想多寫幾個字母,哪怕是寫成 name、age 和 color等等,就是不說人話。

關於對業務邏輯的理解,可以用乙個很好的原則去達到,就是採用領域驅動設計(ddd)的方法。

對軟體設計抽象的高度主要是指物件導向若干設計原則:1、開閉原則;2、黎克特制替換原則;3、單一職責原則;4、介面隔離原則;5、依賴倒置原則;6、迪公尺特原則;7、組合/聚合復用原則等。

對系統設計模式的掌握主要是指能在適合的情景、以恰當的方式應用gof23種設計模式。

所有的一切,總結起來就是:對技術的追求要上公升成對藝術的追求,進而產生強迫症。

遊戲工具開發的思考和總結

在功能機時代,gameloft的遊戲產品和開發模式一直是業界標桿,其歐羅拉編輯器也被當時gameloft跳過來的策劃津津樂道。當時我們也看過歐羅拉工具,功能和適用範圍都相當強大,猜想應該會有一支不小的團隊在維護這套工具和配套引擎。有這樣一套工具,好處當然是很明顯的,可以工業化批量生產遊戲,大大提高遊...

開發中的思考

一直在工作之餘,閱讀kent beck的實現模式,在開發之餘,寫一些心得 1.在開發前寫出乙個簡單明瞭的todolist,學會帶著問題去思考。2.讓自己的思維很清晰地線性化!3.對於邏輯和資料來講,有時候業務資料會發生變化,那麼只需要修改資料。如修改乙個檢視的結構或者表的內容等,而不需要對邏輯結構做...

beego的思考與理解

自學beego,看文件都懂,操作起來很困難,在挫折中解決了幾個問題。算是有些感悟吧。希望對能看到對人有所幫助 1 路由 在實際專案中很少會直接用到get post,常用的有beego.autorouter 這種通過反射來找或beego.router來實現。我在專案中設定了多級目錄,如 src xac...