日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

大学如何学习编程

發布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大学如何学习编程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

軟件行業的簡單介紹

計算機語言

主流計算機語言:C\C++, Java, JavaScript\HTML\CSS, Python。

注:我把.NET的技術去掉了,主要原因是Java技術應用范圍比.NET廣的多。

?

應用范圍

  • 應用軟件

計算機上的大部分軟件都是應用軟件,可以分為命令行/桌面軟件/網站應用。

  • 大數據

大數據技術,顧名思義是處理大量數據的問題。大型網站的服務器上一般都會使用相應的技術。

  • 人工智能

人工智能技術涉及的面比較廣。現在不建議大家學習。

  • 手機軟件
  • 單片機
  • 運維
  • 測試
  • 安全

?

學習的步驟

  • 利其器

* 學習使用github

github不僅僅可以托管你的代碼,也可以管理你的軟件項目。

建立一個github賬號。

建立一個項目(公開的,因為免費)

* 學習使用vs code

vs code是一個輕量級的代碼編輯器,帶有各種各樣的擴展,可以支持不同的編程語言。

下載vs code,創建一個目錄,和github的project關聯。

學習如何submit/push你的代碼。

* 建立自己的博客

可以用github pages功能建立博客。

或者去博客圈建立一個賬戶: 博客園 - 開發者的網上家園

博客園的好處是,博客園是一個開發者的社區,多多少少可以了解一些開發的消息。

* 學習markdown

markdown是一個文本內容編輯語法。可以用來寫博客。

許多網站和工具都支持。

?

  • 學習的一個關鍵問題

任何系統的學習一定要有輸出。筆記+代碼。

如果你看了一本C語言的書,不寫筆記,不寫程序,那你只是浪費時間。

這就是為什么需要建博客的原因 - 放你的學習筆記。

為什么要使用github - 放你的代碼。

?

  • 如何學習計算機語言

寫一個總結:語法\語言特性和示例

下載和閱讀語言對應的代碼規范。

學習語言要了解一個叫做"framework"的概念,每種語言在設計的時候都有特定的目的,也可以理解為語言的需求。

語言的需求是幫助開發者實現某個方面的功能。

為了這個需求,每種計算機語言會提供一套API。

開發者對語言的使用,更主要的是對語言提供的API的使用。

所以,學習語言 = 語法 + framework。

關于framework,學習的時候,不用太詳細,先總結一個分類就可以了。

還有一個概念是:生態環境。

可以理解為:許多第三方的開發者,為這個語言提供了更多的API。

這個也很重要,在你的開發中,多多使用高質量的第三方包,既方便,而且質量也高。

這些東西,和別人多交流,網上多看看,慢慢就了解了。

?

  • 必備知識

* 如何學習數據結構

寫一個總結:

數據結構的類型,每個類型的元素和特點,每個類型對應的算法有哪些,算法的作用是什么。

使用Java實現一些數據結構和算法。

這時候,可以同時學習Java。

* 如何學習數據庫原理

可以裝一個MySQL和對應的開發平臺。

學會以下內容就可以了:

如何創建表(數據類型至少含有varchar2, int, double, datetime),有外鍵的表,和一個Tree表。

如何刪除表

學習如何寫SQL:

Select/Update/Insert/Delete

Count/Max/Min/Avg/Group By

Join/Left Join/Right Join/Outer Join

Where/Union/Order By

?

學習編程的幾個發展方向

  • 算法方向

主要是學習數據結構、算法和C\C++,刷ACM競賽試題。

好處:技術上比較專注,適合學生。

?

如果你沒有極大的興趣,也可以放棄。

實際上大多數開發根本用不上這些東西。

?

  • 小軟件導向

通過寫一些小而有趣的程序,慢慢鍛煉自己。

有人問,如果,不知道如何寫怎么辦?

方法:確定技術\分解問題\網上搜索

拿魔方游戲舉個例子,(我也沒有做過。)

首先我會在網上搜索Web的3D技術有哪些?

其結果可能是選擇一個js 3d的類庫。

然后,這個類庫肯定有官方文檔。

現在是分解問題的時候了。

首先學習怎么畫一個正方形。

然后是怎么畫出一個立方體。

然后是如何讓它旋轉,等等等等。

?

還有一個暴力方法:直接搜索別人寫成的源代碼,拿過來研究。

舉一些例子:

* 寫一個2048游戲

使用Html\CSS\Java Script寫一個2048游戲。

?

* 寫一個爬蟲

使用python爬一個網站,找到擁有某些關健字的文章。

可以學習用sqlite,保存一些信息,比如,文章的URL和內容等等。

用Java再實現一遍。

?

* 寫一個魔方游戲

學習如何解魔方

使用Html\CSS\Java Script完成一個3D魔方游戲。

?

  • 網站方向和大數據方向

這兩個方向和現在軟件行業的就業比較match。

但是,需要人指導,所以,現在不講。

?

什么是編程

編程是一個分解和組裝的過程。

分解:就是把需求分解成小功能的能力,我們稱之為設計。

組裝:把代碼合理的拼湊起來,我們稱之為框架(architecture)。

如果大家對C/C++感興趣的話,可以加一下我們的學習交流Q群:637 ?935 ?295,免費領取一套學習資料和視頻課程喲~

基本編程能力的進階

編程是使用編程語言實現一個業務問題的解決方案。

  • Level 1:學會使用賦值語句/分支語句/循環語句完成一個小功能。
  • Level 2:分拆代碼的能力,使用多個子方法來解決問題。

面條式代碼(Spaghetti code):就是將一大堆代碼寫在一個方法里。這是需要避免的。

可以理解為寫作文中的分段一樣,將不同功能的代碼封裝到不同的子方法中。

  • Level 3: 結構化編程

認識到在一個功能中的數據有哪些,學習合理的封裝數據,形成一個或者多個數據結構。

可以理解為數據抽象。

  • Level 4: 功能封裝。

這個術語上稱為“內聚性”。

比如,把操作字符串的方法,寫到一個StringHelper的類中。

把操作文件的方法,寫到一個FileHelper的文件中。

  • Level 5: 面向對象編程

面向對象編程 = 數據抽象 + 功能聚合。

面向對象的封裝性,繼承性需要以后慢慢理解。

  • 層次框架能力

層次是框架的一種簡單形式,是對框架的初步理解。

將代碼形成多個層次,比如:常見為3層,表示層/業務層/數據訪問層

表示層: 把和用戶交互相關的代碼。

業務層: 業務邏輯代碼,和UI無關。

數據訪問層:讀寫數據相關的代碼。

層次的作用:

方向性:只能從前層調用后層的功能。

隔離性:不能調用不相鄰層次的功能。

  • 代碼閱讀能力

能夠快速地從代碼閱讀中,明白代碼的用意。

  • 業務理解能力

能夠很好理解業務,并且能夠構想出業務在項目中是如何實現的。

到這兒,就差不多可以算是入門了。

?

什么是高手

愿意寫詳細準確的注釋

愿意花時間給變量、方法命名

愿意花時間提高代碼的可讀性

學習代碼規范\優化代碼風格

注重代碼的性能

注重安全性

總結

以上是生活随笔為你收集整理的大学如何学习编程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。