<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    冷面閻羅

    低調(diào)做人&&高調(diào)做事
    隨筆 - 208, 文章 - 3, 評論 - 593, 引用 - 0
    數(shù)據(jù)加載中……

    【轉(zhuǎn)】我本人一直以來在犯的錯誤

     也許你是只老鳥,也許你的程序編的很精,但是,在你的程序生活,你也許沒有注意到一些“常識性”的問題,因為有些時候我們不需要去注意,我們的程序照樣能夠運行得飛快,但是如果那天有一個無聊的人問你一個像這樣的問題,本來他是非常崇拜你的,可是因為你的一個疏忽就從他的心理掉價了。呵呵,開個玩筆,有一些東西我們還真的不得不注意,因為說不定我們那天就在這個小溝里翻了。

        我個人也是個CODER,一直被外界的一些花哨的東西所忽悠著,一直就沒有心來看這些書,大致一翻,都懂,沒有什么看的。但是,懂是懂的,可是有很多的所以然,還真的說不出來。
    1、Java里面默認值的誤解:

    這個不是SUN公司的錯,怪只怪我們沒有仔細看文檔,因為我們所看的書中都可能是這樣的說“如果沒有分配值,系統(tǒng)會為變量自動分配置默認值”,我們就信以為真了,有些地方也確實是行得通的,在有時編程的時候也遇到?jīng)]有賦值就編譯通示過的提示,也沒有多去想。這個所說的默認值是指類成員變量在沒有賦值的時候會賦以默認值,其它局部變量是不能夠享受這種待遇的。這下懂了吧,為什么會出錯了,這里一定要給以初使值才行。
     
    2、很少使用接口
    當然這不是說我有這處毛病,你們就有,我只是說我自己,以免在黑暗中被拍了磚頭@。至少我相信有一大部朋友是這樣的,拿到一個東西,就直接在類里面去實現(xiàn),因為為什么呢?沒有必要嗎,為什么要去多寫一個接口呢,這不是明擺著給自己找麻煩嗎?
        
          
    說實話,就在寫這篇自我反省以前,我一直都是這樣的,可以說是從來沒有寫過接口,也許您會說,“從來沒有寫過接口也算是學JAVA”,不過不管你怎么說,確實沒有寫過,所有寫的都是直接在類中實現(xiàn)(注:我這里指的類表示非接口類)。如果有些小程序,確實不需要寫,因為實現(xiàn)也很簡單,也可能以后不需要繼承,也不需要在以后的某年某月再次重新優(yōu)化一下,當然沒有必要了。

           可是,這是一個習慣問題,當你走路習慣了左邊,那你走路的時候就不會走右邊,你就會在不知覺中去和車車親個嘴。我們應該培養(yǎng)自己的這種思維,讓我們不管在大小項目中,都會想到要這么做。有句古話叫“一屋不掃,何以掃天下”就是這個道理,而不是報以“大丈夫不拘小節(jié)”的態(tài)度。


    你可能對這個為什么要寫接口還是不明白,就像《Think In Java》這樣說的,“如果你現(xiàn)在寫了一個功能,以后發(fā)現(xiàn)這個功能執(zhí)行起來速度不理想的時候,如果你去代碼中改,那有可能會是增加BUG進去,如果我們使用了接口,就不用這么麻煩了,方法重寫就很好辦”,我想也是這樣的,我就經(jīng)常犯這樣的錯誤,有些時候隨著時間的推移,連自己寫的程序,邏輯都還要慢慢去理。
     
    3、讓一個類去做特定的事情
     
         
    在《Think In Java》提到,把每個對象都當成服務的提供者,為什么這樣說呢?還是說現(xiàn)實的比喻吧,就像是一個人,我們?nèi)绻M裁炊紩Y(jié)果也可能是他什么都會,但是沒有一樣東西是能夠拿出手的,都是半懂。而如果把這些東西分給多個人去學習,只要他們每人學自己那一部份,結(jié)果是每個人懂得都不是那么多,也不會有那么大的心理負擔去學習,最后都學得很精,結(jié)果綜合的深度,每個人都能夠獨擋一面,就是這個道理。

           我個人也是經(jīng)常犯這樣的錯誤,有些時候,一個類下來,什么亂七八糟的功能都有,結(jié)果后來多得連自己有時都分不清楚,那些方法在用,那些方法沒有用了。
     
    4、根本不注重合理使用訪問控制:public, private, protected

       
        
    我自己寫程序的時候,想到什么樣方便,就怎么樣使用,特別是對于類變量,不管定義成PUBLIC還是PRIVATE,都可以在當前類中使用無阻,這也應該就是讓我不注意的原因吧。如果完全是自己使用,可能出錯的機率不會太大,因為個人對這個應該還是熟悉的,但是如果你的應用程序需要發(fā)布,用戶來使用就會出錯,因為他們調(diào)用一個不能夠獨立執(zhí)行的方法或者是變量。又或者是一個本來不需要對外公開的方法,你對外公開了,外面的用戶使用了,而在你后面的版本中,你又把這個方法更改了,那么使用者在調(diào)用這個方法的時候就會出錯,至少你寫的程序分健壯性就要打個問號了。
     
    這是我現(xiàn)在發(fā)現(xiàn)的個人毛病,挑出來,希望以后不要再犯。最后見意,有經(jīng)驗的程序員,不要忘了看看《Think In Java》,因為你們更容易犯錯,而在自己的錯誤中生存下去。

    posted on 2007-08-20 15:42 冷面閻羅 閱讀(533) 評論(2)  編輯  收藏

    評論

    # re: 【轉(zhuǎn)】我本人一直以來在犯的錯誤  回復  更多評論   

    這篇給我的感想也頗多,確實平時得注意!!!!
    2007-08-28 10:15 | winar

    # re: 【轉(zhuǎn)】我本人一直以來在犯的錯誤  回復  更多評論   

    樓主說的太有道理了,接口是Java中一個很重要的技術,可是平時用得不是很多,還有就是訪問權限的設置,幾乎一般都用private。呵呵。
    2008-07-12 23:33 | 張輝

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 免费播放在线日本感人片| 免费精品国产自产拍在线观看| 日韩视频在线观看免费| 亚洲精品午夜无码电影网| 久久久精品国产亚洲成人满18免费网站 | 亚洲国产电影在线观看| 7x7x7x免费在线观看| 亚洲国产超清无码专区| 久久久久国色AV免费观看性色| 亚洲色中文字幕在线播放| 日本成人在线免费观看| 老妇激情毛片免费| 亚洲无人区午夜福利码高清完整版 | 久久亚洲精品成人777大小说| 日日麻批免费40分钟无码| 亚洲福利视频网站| 成人午夜免费福利| 猫咪免费人成在线网站| 亚洲人成网亚洲欧洲无码久久 | 曰曰鲁夜夜免费播放视频 | 丝瓜app免费下载网址进入ios| 国产自偷亚洲精品页65页| 99国产精品免费视频观看| 国产亚洲精品VA片在线播放| 内射无码专区久久亚洲| 免费观看男人吊女人视频| 亚洲av日韩av综合| heyzo亚洲精品日韩| 中文字幕免费在线观看动作大片 | 亚洲精华国产精华精华液| 亚洲精品无码av天堂| 最近中文字幕mv免费高清在线| 亚洲AV成人一区二区三区在线看| 亚洲国产成人久久一区WWW| 亚洲午夜免费视频| 亚洲国产精品精华液| 久久精品亚洲日本佐佐木明希| 成年性羞羞视频免费观看无限| 国产黄在线播放免费观看| 亚洲的天堂av无码| 亚洲中文字幕丝袜制服一区|