我的编程之路点滴记录(四)
生活随笔
收集整理的這篇文章主要介紹了
我的编程之路点滴记录(四)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【談?wù)劽嫦驅(qū)ο蟆?/span>
什么是面向?qū)ο?#xff1f;
初學(xué)者的答案往往都是從“封裝、繼承、多態(tài)……”這些方面來解釋,稍微能多說幾句的可能會說:面向?qū)ο蟊让嫦蜻^程好啊,它怎么滴怎么滴~。再多說可能就是,面向?qū)ο笫敲嫦蜻^程出了問題之后為了更好的解決一些問題,于是有了面向?qū)ο蟆Mǔ岬?#xff0c;萬物皆對象啊,有了對象我們而已更方面的操作一個累啊,更好的去做軟件……
面向?qū)ο笳娴挠斜匾獑?#xff1f;答案肯定是:有! 面向?qū)ο笫且环N思想,一種跳出面向過程的思想。大部分人用面向?qū)ο蟮恼Z言,寫著面向過程的代碼。因為面向?qū)ο蟊緛砭褪敲嫦蜻^程,任何機器執(zhí)行指令的時候可不管你什么對象不對像的,都是一條一條的讀取指令。但是面向?qū)ο笫且环N思路或者說是思想,一種解決問題的思路。就像做一件小事情的時候我們可以把方方面面的問題都考慮到,把一件小事做的特別完美。但是一件大事就沒那么簡單了,事必躬親早晚累死。而做小事的總要被做大事的人指揮,做大事總是比做小事高級。所以說面向?qū)ο蟊让嫦蜻^程好,比它高級……
面向?qū)ο蟮木钁?yīng)該是“抓大放小”。把大方向交給面向?qū)ο笕ス芸?#xff0c;具體的小事情就交給面向過程(也就是對壘出一堆的邏輯語句)來解決。下面就又出了一個問題:什么是大什么是小?做判斷前一定會有前提,沒有考慮任何前提的判斷都是感情用事。在軟件開發(fā)過程中,“大小”的判斷往往要根據(jù)需求來判斷。沒有任何一個人開發(fā)出來一個軟件,可以做到完美,軟件工程之中沒有“銀彈”。所以,為什么在學(xué)校的實驗室或者課堂上永遠不能明白什么是面向?qū)ο笫裁词敲嫦蜻^程,因為你根本沒有那個需求。縱使把某一樣?xùn)|西講的天花亂墜,但是看不見摸不到只能憑空想象的東西永遠不會被人真正的接受……
工作的時候可能經(jīng)常有人說,你這種方式不對!你這個以后肯定會出問題!你沒有用面向?qū)ο?#xff01;你在用面向?qū)ο笳Z言寫著面向過程的代碼……如果這個時候你不忙,倒是可以和他討論討論你哪里錯了。問問是不是這樣做會引發(fā)什么問題,或者說是不是他以前這樣做導(dǎo)致了什么不好的事情發(fā)生。如果你很忙,明天或者后天就要交項目了,不要管他了,自己該干嘛干嘛……
一個程序員的成長,肯定是一堆bug培養(yǎng)出來的。為什么會有這個bug?為什么會有這么多bug?為什么現(xiàn)在新的需求那么難擴展?當(dāng)遇到了這些問題的時候,就是一個程序員能力提升的時候了。無論你是自己解決還是問google/baidu ,只要你帶著問題去找尋答案,思考答案。那就是成長…… 開發(fā)的過程中,只有當(dāng)需要的時候我們才去用面向?qū)ο笏伎肌?/span> 所以什么是面向?qū)ο?#xff1f;這是一個根本沒有答案的問題……
面向?qū)ο笳娴挠斜匾獑?#xff1f;答案肯定是:有! 面向?qū)ο笫且环N思想,一種跳出面向過程的思想。大部分人用面向?qū)ο蟮恼Z言,寫著面向過程的代碼。因為面向?qū)ο蟊緛砭褪敲嫦蜻^程,任何機器執(zhí)行指令的時候可不管你什么對象不對像的,都是一條一條的讀取指令。但是面向?qū)ο笫且环N思路或者說是思想,一種解決問題的思路。就像做一件小事情的時候我們可以把方方面面的問題都考慮到,把一件小事做的特別完美。但是一件大事就沒那么簡單了,事必躬親早晚累死。而做小事的總要被做大事的人指揮,做大事總是比做小事高級。所以說面向?qū)ο蟊让嫦蜻^程好,比它高級……
面向?qū)ο蟮木钁?yīng)該是“抓大放小”。把大方向交給面向?qū)ο笕ス芸?#xff0c;具體的小事情就交給面向過程(也就是對壘出一堆的邏輯語句)來解決。下面就又出了一個問題:什么是大什么是小?做判斷前一定會有前提,沒有考慮任何前提的判斷都是感情用事。在軟件開發(fā)過程中,“大小”的判斷往往要根據(jù)需求來判斷。沒有任何一個人開發(fā)出來一個軟件,可以做到完美,軟件工程之中沒有“銀彈”。所以,為什么在學(xué)校的實驗室或者課堂上永遠不能明白什么是面向?qū)ο笫裁词敲嫦蜻^程,因為你根本沒有那個需求。縱使把某一樣?xùn)|西講的天花亂墜,但是看不見摸不到只能憑空想象的東西永遠不會被人真正的接受……
工作的時候可能經(jīng)常有人說,你這種方式不對!你這個以后肯定會出問題!你沒有用面向?qū)ο?#xff01;你在用面向?qū)ο笳Z言寫著面向過程的代碼……如果這個時候你不忙,倒是可以和他討論討論你哪里錯了。問問是不是這樣做會引發(fā)什么問題,或者說是不是他以前這樣做導(dǎo)致了什么不好的事情發(fā)生。如果你很忙,明天或者后天就要交項目了,不要管他了,自己該干嘛干嘛……
一個程序員的成長,肯定是一堆bug培養(yǎng)出來的。為什么會有這個bug?為什么會有這么多bug?為什么現(xiàn)在新的需求那么難擴展?當(dāng)遇到了這些問題的時候,就是一個程序員能力提升的時候了。無論你是自己解決還是問google/baidu ,只要你帶著問題去找尋答案,思考答案。那就是成長…… 開發(fā)的過程中,只有當(dāng)需要的時候我們才去用面向?qū)ο笏伎肌?/span> 所以什么是面向?qū)ο?#xff1f;這是一個根本沒有答案的問題……
總結(jié)
以上是生活随笔為你收集整理的我的编程之路点滴记录(四)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业管理驾驶舱系统设计
- 下一篇: SCons教程(6) 环境