六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

庖丁解羊--閑談編程思想(轉)

[摘要]庖丁解羊----閑談編程思想作者:HolyFire經過多年的編程,我發現編程的思想對一個程序員是至關重要的,以前拿到一個問題,馬上就開始考慮如何來一點一點把他用代碼來實現,于是啃啊啃啊于愁眉籠罩千辛...
庖丁解羊

----閑談編程思想

作者:HolyFire

經過多年的編程,我發現編程的思想對一個程序員是至關重要的,以前拿到一個問題,馬上就開始考慮如何來一點一點把他用代碼來實現,于是啃啊啃啊于愁眉籠罩千辛萬苦下每完成了一點就欣喜若狂。編著編著發現這里不足,那里沒考慮到于是東補補西湊湊,異常蹩腳的完成了一個小程序,當時的感覺就像我完成了全世界,或許那個時代是我最開心的。

完成了四五個程序的我,開始發現我做了很多重復的勞動,于是乎開始做我的程序庫,編寫功能型模塊。想到了這些模塊只要寫一遍就可以受用無窮不禁得意洋洋,或許那個時代我是聰明。

當我寫了五六千行代碼的時候,我發現我寫的功能模塊已經記不清什么是干什么的了,而我已經習慣使用別人寫的比我好的模塊時,我開始迷茫,我做的一切究竟是為了什么。這時我開始研究別人的代碼,開始懂得什么是優化,什么是數據結構,什么是數學建模,我開始研究應用數學和軟件工程。這時我開始使用C++用類來寫程序,或許那個年代我是明智的。

當我寫了四五十個*.h和*.cpp后,開始發現我寫的類一點都不通用,無法再利用。我開始深入學習類以及面向對象,明白了繼承和封裝,這時的我才開始深深思考什么是重要的,于是我開始分析問題而不是一上手就開始編代碼。或許以前的我是個傻瓜^_^。

我足足花了三年多的時間來浪費我的青春做了別人僅需一年的事情(當然著三年中我積累的經驗不可能是一年能做到的,但是對于編程上的修養,我浪費的時間已太多),如果你們沒有意識到這點,或許也會浪費很多時間。

分析能力對一個程序員來說是一個重要的屬性,它直接關系到你對事物的理解能力和組織能力,程序員做的工作就是將一個事物分解成數學元素然后重新組織在計算機里重現,所以如何處理事物是個要點。

我們了解一個事物并進行描述的時候,往往是先處理它的一部分,接著處理另一部分,然后等所有的部分都處理完的時候,具體的事物就重現了。比如給一個不知道山羊的人介紹山羊,如果你對他說山羊就是山羊,他是無論如何都不會明白的。如果你說山羊是一種有四只腳的腦袋上有兩只角,還有短短的尾巴,那他模模糊糊會有些形象在腦海里了,如果加上有絨絨的毛,可笑的胡子,咩咩的叫的食草動物,至少他不會和牛混淆起來,如果你能描述的更詳細更好,那他有九成知道山羊是什么樣子了,當他看見山羊的時候就會立刻明白。對于什么都不懂得計算機你不用說明什么,但是要是別人或者幾年以后的你自己能看明白你的文檔,詳細的說明是必須的。而從上面的過程看來,將事物分成小塊來處理是個好辦法,我們把這個過程叫做劃分。當然劃分是可以繼續下去,將劃分的小塊繼續劃分直到不能劃分為止。當然要對一只山羊劃分需要一個對山羊有著全面了解的人,所以劃分你的問題的時候要對問題有全面的了解。看上去這對一個還沒有了解這個問題的人是一個矛盾,劃分一個事物有助于了解這個事物而要很好的劃分卻需要對事物充分的了解。于是我們要有所改變,要改變的是我們的做法。我們先粗略的了解問題,然后粗略的劃分一下,將劃分的模塊再粗略的了解一下,然后將它粗略的劃分,等到都成為不可劃分的小塊時,我們再來組織它。而且這個時候,我們對問題已經有全面的了解了,這時候我們將小塊的重復部分扔掉(一般一定會有重復的部分),然后將這些小塊重新將問題組合起來,想一下將一只大卸八塊的山羊組合起來,哈哈,一定是活不過來了,不過有羊肉吃也不錯。如果你很順利的組合起來了,表示你很好的劃分了這個問題而且了解的很透徹,以后的事將會一帆風順,你這時腦袋里一定充滿了解決這個問題的方案,已經躍躍欲試了。不要急,聰明的人會仔細的將劃分的過程多看幾遍,重組的方法多試幾種,這不但對以后和編程有好處,也是更好解決方案的起點。

現在我們來解剖一只山羊,如果你愿意還可以細分,動物愛好者請回避。

山羊

-> 腦袋

-> 軀體

-> 四肢

-> 尾部



腦袋
軀體
四肢
尾部

-> 五官
-> 胸
-> 兩只前肢
-> 尾巴

-> 胡子
-> 腹
-> 兩只后肢
-> 絨毛

-> 絨毛
-> 背

-> 骨架

-> 骨架
-> 內臟




-> 絨毛




-> 骨架





五官

-> 耳朵

-> 眼睛

-> 鼻子

-> 嘴巴



內臟

-> 心

-> 脾

-> 肝

-> 肺

-> 胃

-> 腸

-> 腎



前肢
后肢

-> 腳
-> 腳

-> 絨毛
-> 絨毛

-> 骨架
-> 骨架



最后我們得到的是:

山羊 腦袋 軀體 四肢 尾部 腦袋 五官 胡子 絨毛 骨架 軀體 胸 腹 背 內臟 絨毛 骨架 四肢 兩只前肢 兩只后肢 尾部 尾巴 絨毛 骨架 五官 耳朵 眼睛 鼻子 嘴巴 內臟 心 脾 肝 肺 腎 胃 腸 前肢 腳 絨毛 骨架 后肢 腳 絨毛 骨架

去掉重復的部分:

山羊 腦袋 軀體 四肢 尾部 五官 胡子 絨毛 骨架 胸 腹 背 內臟 兩只前肢 兩只后肢 尾巴 耳朵 眼睛 鼻子 嘴巴 心 脾 肝 肺 腎 胃 腸 腳 腳

最終的不可劃分的子模塊:

胡子 絨毛 骨架 胸 腹 背 尾巴 耳朵 眼睛 鼻子 嘴巴 心 脾 肝 肺 胃 腸 腳

現在我們將它重新組合一下,是不是很簡單的就完成了。而且我們需要處理的東西并不多。現在我們來用數學元素來描述一下

胡子: 數量不多的多種形狀的輪廓,有各種顏色

絨毛: 非常多的多種形狀的輪廓,有各種顏色

骨架: 多種形狀的輪廓,有一種顏色

胸: 某形狀的輪廓,有一種顏色

腹: 某形狀的輪廓,有各種顏色

背: 某形狀的輪廓,有各種顏色

尾巴: 某形狀的輪廓,有各種顏色

耳朵: 最多兩個的某形狀的輪廓,有各種顏色

眼睛: 最多兩個的某形狀的輪廓,有各種顏色

鼻子: 最多一個的某形狀的輪廓,有各種顏色

嘴巴: 某形狀的輪廓,有各種顏色

心: 某形狀的輪廓,有一種顏色

脾: 某形狀的輪廓,有一種顏色

肝: 某形狀的輪廓,有一種顏色

肺: 某形狀的輪廓,有一種顏色

胃: 某形狀的輪廓,有一種顏色

腸: 多種形狀的輪廓,有一種顏色

腳: 多種形狀的輪廓,有各種顏色

現在我們又得出了數量、輪廓和顏色這個三個元素,他們是所有元素都有的共性,我們找到了組合山羊的最小劃分,雖然在科學上這不是正確答案,但粗略地表達一只山羊這已足夠。好,雖然歷時不多,我們在腦海里已經解決了這個問題。




主站蜘蛛池模板: 日产精品卡二卡三卡四卡乱码视频 | 青草娱乐视频 | 欧美一级黄色大片 | 青娱乐国产精品视频 | 热99热| 欧美性第一页 | 四虎影院永久网站 | 亚洲天堂中文字幕在线观看 | 四虎www免费人成 | 色综合一区 | 日韩禁片| 日本乱人伦片中文字幕三区 | 亚洲综合色网站 | 无人码一区二区三区视频 | 四虎成人免费网址在线 | 在线免费视频国产 | 日韩精品亚洲一级在线观看 | 小草cc| 香蕉国产成版人视频在线观看 | 欧美一级美片在线观看免费 | 日本红怡院亚洲红怡院最新 | 天天爱天天舔 | 日韩伦理网站 | 婷婷激情四月 | 日韩性大片免费 | 天天澡夜夜澡人人澡 | 日在线视频 | 亚洲一区二区三区免费视频 | 深夜视频免费看 | 日本亚欧乱色视频在线观看 | 色婷婷激情综合 | 天天爱夜夜爱 | 日韩小视频在线 | 亚洲精品在线播放视频 | 在线免费视频国产 | 天天干在线免费视频 | 综合久久久 | 日日干夜夜骑 | 日韩伦理一区 | 日日操夜夜操免费视频 | 在线播放第一页 |