有時(shí)候我們需要把文件夾里面所有的mp3文件移動(dòng)到另外一個(gè)文件夾,因?yàn)檫@個(gè)文件夾文件比較多比較雜母谎,想分個(gè)類瘦黑,假如我們手動(dòng)一個(gè)個(gè)去移動(dòng),那是非常麻煩的奇唤,而如果稍微學(xué)過(guò)一點(diǎn)編程幸斥,一行命令就可以解決了。我們這里不講實(shí)際操作咬扇,有興趣的可以去google或者百度甲葬。這其實(shí)只是學(xué)習(xí)編程的一個(gè)最基本的好處而已。
編程的初衷:自動(dòng)化
自動(dòng)化也是發(fā)明計(jì)算機(jī)的初衷懈贺,自動(dòng)化讓我們可以把事情做得又快又好经窖,我們把做事情的流程寫下來(lái),讓計(jì)算機(jī)去執(zhí)行這些操作隅居,但是我們不是用漢語(yǔ)當(dāng)然也不是用英語(yǔ)記錄钠至,我們用的是編程語(yǔ)言,它比自然語(yǔ)言(漢語(yǔ)胎源、英語(yǔ)等)語(yǔ)法更為嚴(yán)格,計(jì)算機(jī)更容易看得懂屿脐,然后它才能去執(zhí)行我們的命令涕蚤。這樣就帶來(lái)一個(gè)好處宪卿,只要我清楚做事情A的流程,我把它記錄成程序万栅,以后每次要做A的時(shí)候佑钾,我只要對(duì)計(jì)算機(jī)說(shuō),你去做A,計(jì)算機(jī)就會(huì)把所有流程走一遍烦粒,中間不需要人力的介入休溶,于是我們就把事情A自動(dòng)化了,可以騰出更多時(shí)間做更重要的事情扰她。
比如說(shuō)超市的前臺(tái)結(jié)賬系統(tǒng)兽掰,營(yíng)業(yè)人員只需要把每個(gè)物品刷一下,就可以很容易地計(jì)算出最終價(jià)格徒役,這些都是計(jì)算機(jī)做的孽尽,包括識(shí)別物品條碼,計(jì)算總價(jià)忧勿;假設(shè)沒有這個(gè)系統(tǒng)杉女,營(yíng)業(yè)人員需要把所有物品人工識(shí)別一下,然后查找一下對(duì)應(yīng)的價(jià)格鸳吸,最后把所有的價(jià)格加起來(lái)熏挎,不得不說(shuō)這樣人工成本太高。
總之編程可以讓我們把生活中常見的問題自動(dòng)化晌砾,省時(shí)又省力坎拐。
邏輯思維能力的完善
上面提到我們可以把流程記錄下來(lái),然后讓計(jì)算機(jī)去執(zhí)行贡羔。這樣會(huì)出現(xiàn)一個(gè)問題廉白,當(dāng)我們對(duì)流程的理解有一點(diǎn)點(diǎn)錯(cuò)誤的時(shí)候,最終執(zhí)行結(jié)果都可能會(huì)出問題乖寒,因?yàn)橛?jì)算機(jī)畢竟不是人猴蹂,人在執(zhí)行過(guò)程中出現(xiàn)錯(cuò)誤可以及時(shí)更正,而計(jì)算機(jī)只會(huì)按照你說(shuō)的做楣嘁,即使你是胡說(shuō)八道磅轻。所以要想寫出沒有bug的程序,我們的編程邏輯不能有任何漏洞逐虚,編程能提升我們的邏輯思維能力聋溜。
思維的提高
除此之外,編程還可以讓我們的思維升級(jí)叭爱,通過(guò)編程我學(xué)會(huì)的一個(gè)最重要的概念就是模塊化思維撮躁,而由此延伸出架構(gòu)圖和流程圖,這些都是非常重要的知識(shí)买雾,他們可以被應(yīng)用到大部分領(lǐng)域把曼,當(dāng)然編程讓我學(xué)會(huì)了很多很多杨帽,接下來(lái)主要講講模塊化思維。
模塊化思維
為什么軟件工程中能提出模塊化思維嗤军?一個(gè)大型系統(tǒng)軟件動(dòng)輒百萬(wàn)行代碼注盈,如果這些代碼沒有被組織起來(lái),就會(huì)是一團(tuán)亂麻叙赚、一堆垃圾老客,這個(gè)軟件將變得不可維護(hù),我猜前輩們就是在通過(guò)大量的試驗(yàn)后提出了這個(gè)理論震叮。
那什么是模塊化思維呢胧砰?我們把這個(gè)系統(tǒng)分解成幾個(gè)子系統(tǒng),然后我們只需要把子系統(tǒng)的邊界分清楚冤荆,了解各個(gè)子系統(tǒng)之間的聯(lián)系和交互朴则,就能大致了解整個(gè)系統(tǒng)是如何運(yùn)轉(zhuǎn)的,子系統(tǒng)太大就繼續(xù)細(xì)分下去钓简,直到足夠小為止乌妒。
比如要大致了解一個(gè)公司的運(yùn)轉(zhuǎn)原理,我們只需要知道公司有幾個(gè)部門外邓,每個(gè)部門是干啥的撤蚊,部門之間有什么關(guān)系,他們是怎么溝通的损话。
再比如說(shuō)我們要寫一篇文章侦啸,我們可以用總分總結(jié)構(gòu),就是把文章分為3個(gè)模塊丧枪,然后“分”的部分又可以繼續(xù)細(xì)分為好幾個(gè)分論點(diǎn)去支持總的主題光涂,然后完善每個(gè)分論點(diǎn),一篇文章就完成了拧烦。
架構(gòu)圖和流程圖的作用是用圖片直觀地呈現(xiàn)出來(lái)一個(gè)復(fù)雜系統(tǒng)忘闻,它們是建立在模塊化的基礎(chǔ)之上的,基本上只要把架構(gòu)圖和流程圖畫出來(lái)恋博,就能讓別人比較容易地了解整個(gè)系統(tǒng)齐佳,這里就不具體講了。
總結(jié)
總之編程既能提升日常工作的效率债沮,又能提升思維水平炼吴,它確實(shí)值得我們每一個(gè)人去學(xué)習(xí)。