原文發表在我的博客主頁,轉載請注明出處! 建議二十八:區別對待可變對象和不可變對象 python中一切皆對象,每一個對象都有一個唯一的標識符(id())、類型(type())以及值,對象根據其值能否修改分為可變對象和不可變對象,其中數字、字符串、元組屬於不可變對象,字典以及列表、字節數組屬於可變 ...
原文發表在我的博客主頁,轉載請注明出處 初衷 python是一個入門十分容易的編程語言,但是想要寫好python卻是一件不容易的事情,如果不是專業使用python的人,只是將python作為一個腳本語言或者用來處理數據,到了掌握基本的語法之后,便不再尋求進步。但是相信每個學習python的人都知道pythonic這個單詞,這個詞語很難定義,全靠心領神會,但大家心中都認同Tim Peters的 Th ...
2015-12-29 19:13 0 2099 推薦指數:
原文發表在我的博客主頁,轉載請注明出處! 建議二十八:區別對待可變對象和不可變對象 python中一切皆對象,每一個對象都有一個唯一的標識符(id())、類型(type())以及值,對象根據其值能否修改分為可變對象和不可變對象,其中數字、字符串、元組屬於不可變對象,字典以及列表、字節數組屬於可變 ...
泛型可以減少強制類型的轉換,可以規范集合的元素類型,還可以提高代碼的安全性和可讀性,正式因為有這些優點,自從Java引入泛型后,項目的編碼規則上便多了一條:優先使用泛型。 反射可以“看透” 程序的運行情況,可以讓我們在運行期知曉一個類或實例的運行狀況,可以動態的加載和調用,雖然有一定 ...
枚舉和注解都是在Java1.5中引入的,雖然它們是后起之秀,但其功效不可小覷,枚舉改變了常量的聲明方式,注解耦合了數據和代碼。 建議83:推薦使用枚舉定義常量 常量聲明是每一個項目都不可或缺的,在Java1.5之前,我們只有兩種方式的聲明:類常量和接口常量,若在項目 ...
建議106:動態代理可以使代理模式更加靈活 Java的反射框架提供了動態代理(Dynamic Proxy)機制,允許在運行期對目標類生成代理,避免重復開發。我們知道一個靜態代理是通過主題角色(Proxy)和具體主題角色(Real Subject)共同實現主題角色(Subject)的邏輯 ...
建議26:提防包裝類型的null值 我們知道Java引入包裝類型(Wrapper Types)是為了解決基本類型的實例化問題,以便讓一個基本類型也能參與到面向對象的編程世界中。而在Java5中泛型更是對基本類型說了"不",如果把一個整型放入List中,就必須使用Integer包裝類 ...
噢,它明白了,河水既沒有牛伯伯說的那么淺,也沒有小松鼠說的那么深,只有親自試過才知道。 ---寓言 ...
建議70:子列表只是原列表的一個視圖 List接口提供了subList方法,其作用是返回一個列表的子列表,這與String類subSting有點類似,但它們的功能是否相同呢?我們來看如下代碼: c1是通過ArrayList的構造函數創建的,c2是通過列表的subList ...
不管人類的思維有多么縝密,也存在" 智者千慮必有一失 "的缺憾。無論計算機技術怎么發展,也不可能窮盡所有的場景___這個世界是不完美的,也是有缺陷的。完美的世界只存在於理想中。 對於軟件帝國的締造者來說,程序也是不完美的,異常情況會隨時出現,我們需要它為我們描述例外事件,需要它處理非預期 ...