最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

第7篇:注重基礎(chǔ)知識的原理原則

2020-09-08 16:49 作者:博毅創(chuàng)為  | 我要投稿

前言

教學(xué)幾年以來,接觸過很多同學(xué),一些同學(xué)經(jīng)常這樣問我:

"有沒有實(shí)戰(zhàn)案例,我想從實(shí)戰(zhàn)開始, 這樣我能學(xué)的快些"

"基礎(chǔ)知識太無聊了,有沒有實(shí)戰(zhàn),一邊做一遍練習(xí)。"

"我想做一款游戲出來賺錢,沒有那么多時(shí)間耗。"

我的回答往往是:高樓萬丈平地起。

要想寫出好的程序一定要注重基礎(chǔ)的原理原則,因?yàn)槿魏螐?fù)雜的邏輯和游戲都是由一個(gè)一個(gè)基礎(chǔ)知識組成的。

這也就能解釋為什么騰訊、網(wǎng)易面試的時(shí)候經(jīng)常問基礎(chǔ)問題。


01 哪些知識是程序員必備的基礎(chǔ)

程序編程語言的基本原理原則

編程語言的基礎(chǔ)機(jī)制很重要,每個(gè)編程語言都有自己的核心機(jī)制,例如 C# 類,對象,實(shí)例,this, 委托,事件,重寫,虛函數(shù),裝飾注解等。

這些東西的原理原則要很清楚,寫代碼時(shí)才能用正確的代碼寫出來。

又如JS沒有類,如何實(shí)現(xiàn)面向?qū)ο?,new 做了那些事情,this如何傳遞, prototype機(jī)制,proto機(jī)制。

02 程序運(yùn)行時(shí)的基本原理原則

程序運(yùn)行的時(shí)候,會(huì)有一些基本的原理原則,這些必須要清楚。

比如函數(shù)代碼存放在代碼段,全局變量存放在數(shù)據(jù)段,new 的對象存放在堆,函數(shù)參數(shù),局部變量存放在棧。

函數(shù)調(diào)用如何跳轉(zhuǎn),跳轉(zhuǎn)過去后return語句如何知道返回到程序執(zhí)行的下一行代碼。

什么是內(nèi)存碎片,是怎么造成的,如何解決,什么是內(nèi)存泄露等,如果是垃圾回收的編程語言,垃圾回收器如何工作等。

03 常用的經(jīng)典數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)

數(shù)據(jù)結(jié)構(gòu)是用來存放與管理數(shù)據(jù)用的,管理存儲(chǔ)數(shù)據(jù)對于程序來說很重要,如何存儲(chǔ)管理數(shù)據(jù)就需要有數(shù)據(jù)結(jié)構(gòu), 動(dòng)態(tài)數(shù)組,鏈表, 樹, 圖,Hash表, 字典等。

他們的原理是什么,內(nèi)部是怎么實(shí)現(xiàn)的, 如何很好的使用他們,增刪改查的性能如何,分別有什么優(yōu)缺點(diǎn),用在什么地方。


04 OS基礎(chǔ)的原理原則

進(jìn)程是什么,OS 是如何分配CPU來調(diào)度線程,線程調(diào)度有哪些開銷。同步IO是如何實(shí)現(xiàn)的,異步IO是如何實(shí)現(xiàn)的。Sleep函數(shù)是如何實(shí)現(xiàn)的,CPU占用率是什么意思。TCP,UDP, IOCP, epoll等。

05 行業(yè)相關(guān)的常用算法和庫

http協(xié)議, websocket協(xié)議,JSON,XML協(xié)議, protobuf以及實(shí)現(xiàn)他們的一些庫。

比如我們做游戲也有很多庫,比如 AStar尋路等?;旧犀F(xiàn)在你要的一些功能和需求,都能找到對應(yīng)開源的實(shí)現(xiàn)。github, sourcesforge, 都可以在上面搜索到主要的開源的庫和代碼。

作為系統(tǒng)分析師用什么技術(shù),這個(gè)技術(shù)實(shí)現(xiàn)的庫都需要對這些比較熟悉,你才能完整的做出系統(tǒng)設(shè)計(jì)的方案。

06 良好的代碼編寫規(guī)范與常用設(shè)計(jì)模式

編寫代碼一開始要有良好的編碼規(guī)范,命名規(guī)范,表達(dá)式格式規(guī)范,項(xiàng)目組織文件目錄規(guī)范。

能實(shí)現(xiàn)主流的設(shè)計(jì)模式,比如單例,我們要全局唯一實(shí)例的時(shí)候,很快就能寫出來?;惞芾碜宇悓?shí)例, 觀察者模式等。

項(xiàng)目設(shè)計(jì)如MVC, ECS等。


07 所在行業(yè)經(jīng)典的解決方案都要實(shí)現(xiàn)一遍

我們做游戲的要把游戲行業(yè)經(jīng)典的方案都自己實(shí)現(xiàn)一次,或了解實(shí)現(xiàn)它的庫。

比如地圖編輯器如何制作,熱更新的基本的原理原則與實(shí)現(xiàn);資源管理如何設(shè)計(jì)與更新;游戲項(xiàng)目的框架設(shè)計(jì)。

實(shí)現(xiàn)的時(shí)候要注意總結(jié)里面的邏輯,前因后果,為什么要這么做。在分析的過程中總結(jié)別人的實(shí)現(xiàn)思路, 總結(jié)處理問題的方式方法。

學(xué)會(huì)分析問題與解決問題,等你解決了這一系列的問題的時(shí)候要學(xué)會(huì)提煉,提煉出問題的一般方法。


很多同學(xué)問我,背包系統(tǒng)如何實(shí)現(xiàn)?這個(gè)太難了!

我問他難在哪里?!不就是一些UI界面么?

他說沒有這么簡單吧,數(shù)據(jù)如何存放?

我說你根據(jù)展示的業(yè)務(wù)邏輯選取特定的數(shù)據(jù)結(jié)構(gòu)管理就可以了。

他說如果內(nèi)容很多怎么辦?

我說你先設(shè)計(jì),看是否全部可以加載完成,系統(tǒng)資源允許,如果不允許太多,可以分批顯示與加載。

他又問drawcall 過高怎么辦?

我說背包drawcall主要是UI,把背包的圖片放圖集,drawcall高可能是文字打亂了UI的drawcall等。分析出來原因,打圖集,調(diào)整繪制順序減低drawcall。

這個(gè)里面所有的東西,單獨(dú)拎出來都是一個(gè)一個(gè)的基礎(chǔ)知識點(diǎn),和分析問題的一般方法,找出問題,分析問題,解決手段。

真正搞懂了這些,任何復(fù)雜問題都可以迎刃而解。


08 注重解決方法與思路的提煉

我們每實(shí)現(xiàn)一個(gè)經(jīng)典問題,學(xué)習(xí)一個(gè)庫,框架,做一個(gè)項(xiàng)目,要學(xué)會(huì)總結(jié)里面用的思想方法和思維方式。

這個(gè)問題別人的實(shí)現(xiàn)是如何分析的,如何化繁為簡的,巧妙的地方在哪里?他是如何想到的?

要把這些分析問題,解決問題的一般思維和方法提煉出來,放入自己的腦袋里面。

其實(shí)我們面臨的都是未知的問題,雖然不完全一樣,但是解決方案和思維都相通的。

平常注重思維提煉,久而久之才能形成解決問題的思維方式條件反射。再結(jié)合你的扎實(shí)的基礎(chǔ),任何問題在你這里都能得到很好的分析和解決。如果自己解決不了的也可以知道如何找人和用商業(yè)的方式解決,甚至創(chuàng)業(yè)管理公司也都是類似的。

人生道路千萬條,最后都終歸一處。地球河流無數(shù)條,最終都匯入大海。


最后說一個(gè)笑話。

別人問我“老師,我找到了工作,但是別人只給5000,我要不要去呢?”我說去啊,他問為什么?我說因?yàn)槟愕某绦虬 ?/p>

想要拿高薪,做成一些事情,需要腳踏實(shí)地的解決問題和不斷學(xué)習(xí)。

今天就分享到這里了。希望大家有收獲。

有了收獲,莫忘記分享給更多朋友~


第7篇:注重基礎(chǔ)知識的原理原則的評論 (共 條)

分享到微博請遵守國家法律
邓州市| 息烽县| 长岛县| 兴安县| 乌拉特中旗| 永嘉县| 青海省| 桃江县| 水城县| 青州市| 长沙县| 临洮县| 虞城县| 汝城县| 嘉黎县| 肥西县| 谢通门县| 保德县| 长岭县| 金阳县| 蒙山县| 萨嘎县| 舞钢市| 浦北县| 霍山县| 东兴市| 龙井市| 安阳市| 察哈| 博罗县| 运城市| 抚远县| 通州市| 安吉县| 巢湖市| 济宁市| 辽宁省| 孟村| 清河县| 中方县| 门头沟区|