天天拍夜夜添久久精品大_人妻激倩偷乱视频一区二区三区_亚洲中文字幕网_中文字字幕在线中文无码

幼教網(wǎng)
全國(guó)站
您現(xiàn)在的位置:幼教 > 家庭教育 > 幼兒家庭教育 > 智力開(kāi)發(fā) > 正文

如何學(xué)習(xí)一門(mén)編程語(yǔ)言 (2)

來(lái)源:菜鳥(niǎo)教程 2018-06-14 09:04:45

說(shuō)兩句


  比較流行的編程模式大概有:

  面向?qū)ο缶幊,主要是封裝、繼承、多態(tài);函數(shù)式編程,主要是應(yīng)用 Lambda;過(guò)程式編程,可以理解為實(shí)現(xiàn)需求功能的特定步驟。

  每種編程模式都有一定的道理,我從不認(rèn)為只有面向?qū)ο缶幊滩攀峭醯馈?br />
  Java 是面向?qū)ο笳Z(yǔ)言,從 Java8 開(kāi)始也支持函數(shù)編程(引入 Lambda 表達(dá)式);C++ 可以算是半面向?qū)ο,半面向過(guò)程式語(yǔ)言。

  語(yǔ)言自身特性

  每個(gè)語(yǔ)言自身都有一些重要特性需要了解。例如,學(xué)習(xí) C、C++,你必須了解內(nèi)存的申請(qǐng)和釋放,了解指針、引用。而學(xué)習(xí) Java,你需要了解 JVM,垃圾回收機(jī)制。學(xué)習(xí) Javascript,你需要了解 DOM 操作等。

  代碼組織、模塊加載、庫(kù)管理

  一個(gè)程序一般都有很多個(gè)源代碼文件。這就會(huì)引入這些問(wèn)題:如何將代碼文件組織起來(lái)?如何根據(jù)業(yè)務(wù)需要,選擇將部分模塊啟動(dòng)時(shí)進(jìn)行加載,部分模塊使用懶加載(或者熱加載)?

  最基本的引用文件就不提了,如C、C++的#include,Java 的 import 等。

  針對(duì)代碼組織、模塊加載、庫(kù)管理這些問(wèn)題,不同語(yǔ)言會(huì)有不同的解決方案。

  如 Java 可以用 maven、gradle 管理項(xiàng)目依賴(lài)、組織代碼結(jié)構(gòu);Javascript (包括 Nodejs、jquery、react 等等庫(kù))可以用 npm、yarn 管理依賴(lài),用 webpack 等工具管理模塊加載。

  容錯(cuò)處理

  程序總難免會(huì)有 bug。

  所以為了代碼健壯性也好,為了方便定位問(wèn)題也好,代碼中需要有容錯(cuò)處理。常見(jiàn)的手段有:

  異常

  斷言

  日志

  調(diào)試

  單元測(cè)試

  輸入輸出和文件處理

  這塊知識(shí)比較繁雜。建議提綱挈領(lǐng)的學(xué)習(xí)一下,理解基本概念,比如輸入輸出流、管道等等。至于 API,用到的時(shí)候再查一下即可。

  回調(diào)機(jī)制

  每種語(yǔ)言實(shí)現(xiàn)回調(diào)的方式有所不同,如 .Net 的 delegate (大量被用于 WinForm 程序);Javascript 中函數(shù)天然支持回調(diào):Javascript 函數(shù)允許傳入另一個(gè)函數(shù)作為入?yún),然后在方法中調(diào)用它。其它語(yǔ)言的回調(diào)方式不一一列舉。

  序列化和反序列化

  首先需要了解的是,序列化和反序列化的作用是為了在不同平臺(tái)之間傳輸對(duì)象。

  其次,要知道序列化存在多種方式,不同編程語(yǔ)言可能有多種方案。根據(jù)應(yīng)用的序列化方式,選擇性了解即可。

  進(jìn)階特性

  以下學(xué)習(xí)內(nèi)容屬于進(jìn)階性?xún)?nèi)容?梢愿鶕(jù)開(kāi)發(fā)需要去學(xué)習(xí)、掌握。需要注意的是,學(xué)習(xí)這些特性的態(tài)度應(yīng)該是不學(xué)則已,學(xué)則死磕。因?yàn)榘攵氩欢,特別容易引入問(wèn)題。

  對(duì)于半桶水的同學(xué),我想說(shuō):放過(guò)自己,也放過(guò)別人,活著不好嗎?

  并發(fā)編程:好處多多,十分重要,但是并發(fā)代碼容易出錯(cuò),且出錯(cuò)難以定位。要學(xué)習(xí)還是要花很大力氣的,需要了解大量知識(shí),如:進(jìn)程、線(xiàn)程、同步、異步、讀寫(xiě)鎖等等。

  反射:讓你可以動(dòng)態(tài)編程(慎用)。

  泛型:集合(或者叫容器)的基石。精通泛型,能大大提高你的代碼效率。

  元數(shù)據(jù):描述數(shù)據(jù)的數(shù)據(jù)。Java 中叫做注解。

  庫(kù)和框架

  學(xué)習(xí)一門(mén)編程語(yǔ)言,難免需要用到圍繞它構(gòu)建的技術(shù)生態(tài)圈——庫(kù)和框架。這方面知識(shí)范圍太龐大,根據(jù)實(shí)際應(yīng)用領(lǐng)域去學(xué)習(xí)吧。比如搞 JavaWeb,你多多少少肯定要用到 Spring、Mybatis、Hibernate、Shiro等大量開(kāi)發(fā)框架;如果做 Javascript 前端,你可能會(huì)用到 React、Vue、Angular 、jQuery 等庫(kù)或框架。

  小結(jié)

  總結(jié)以上,編程語(yǔ)言學(xué)習(xí)的道路是任重而道遠(yuǎn)的,未來(lái)是光明的。

  相關(guān)推薦:

小升初試題、期中期末題、小學(xué)奧數(shù)題

盡在奧數(shù)網(wǎng)公眾號(hào)

   歡迎使用手機(jī)、平板等移動(dòng)設(shè)備訪(fǎng)問(wèn)幼教網(wǎng),幼兒教育我們一路陪伴同行!>>點(diǎn)擊查看

  • 歡迎掃描二維碼
    關(guān)注幼教網(wǎng)微信
    gh_5735a1f9f07c

  • 歡迎掃描二維碼
    關(guān)注奧數(shù)網(wǎng)微信
    ID:aoshu_2003

幼升小

幼升小資訊

幼升小政策

幼升小擇校

幼升小指導(dǎo)

學(xué)區(qū)房

幼升小真題

重點(diǎn)小學(xué)

上海小學(xué)

廣州小學(xué)

深圳小學(xué)

成都小學(xué)

武漢小學(xué)

南京小學(xué)

北京一類(lèi)幼兒園

海淀區(qū)幼兒園

西城區(qū)幼兒園

東城區(qū)幼兒園

朝陽(yáng)區(qū)幼兒園

其他區(qū)幼兒園

幼兒園資訊

教師園地

幼兒園說(shuō)課稿

幼兒園教案

教學(xué)論文

幼兒園課件

幼兒園教師心得

幼兒園評(píng)語(yǔ)

少兒教育

胎教

早期教育

入園必讀

潛能開(kāi)發(fā)

藝術(shù)培養(yǎng)

家庭教育

兒童樂(lè)園

科普知識(shí)

圖書(shū)推薦

睡前故事

成語(yǔ)故事

童話(huà)故事

唐詩(shī)宋詞

孕育指南

時(shí)尚媽咪

健康寶貝

美食廚房

趣味數(shù)學(xué)

健康飲食

專(zhuān)家答疑

-->