天天看點

大話設計模式 體會(一)

     受高人推薦,閱讀《大話設計模式》,自己讀了一下,感覺大話設計模式真的特别好,通俗易懂,實用性強。而我又處在初級程式員向中進階程式員轉型的階段,這本身啟發了我,什麼是優質代碼,如何寫出優質代碼。為了自己讀書有所收獲,為了能夠銘記這些經典的總結,我把它寫成我的部落格文章,友善自己以後查找。

     剛剛讀了第一節,小菜和大鳥的對話,感覺自己很像那個小菜,隻知道如何做完功能,而不注重代碼的可維護、可複用、可擴充、靈活性。我覺得要想做到這3點,繼承、封裝、多态這3個缺一不可,必須要用,才能寫成品質高、耦合性低的代碼。好的代碼不僅容易維護,而且利于自己修改。對公司,對項目,對自己,都是非常有好處的。代碼,不僅是一門技術,更是一門藝術。很多人認為設計模式在搭建架構的時候才會用,其實不然,我的體會是,在平常寫代碼的時候經常會用到,運用好了,就可以省時省力,還可以鍛煉自己。

    今天我主要的收獲是;1,變量命名不規範。這個是初級的人大多會犯的一個錯誤。我也犯,之前寫代碼,比方說4個TextView,我會這樣命名:tv1,tv2,tv3,tv4。當時還記得,第二天來了,就不記得了,看着這個命名和蛋疼。是以,深有體會,我吃了虧。

而且我總結了自己的命名規範,是這樣的:

    變量命名規則,3部分組成,

     * 第一部分由m或者g組成,m代表局部變量,g代表全局變量

     * 第二部分,如果是控件,則為控件類型,EditTxt為Edtxt,TextView為txt,Button為btn。如果是基本類型,就用類型的名字,比如,int,long

     * 第三部分,由變量的作用的英文名組成,比如,顯示結果的textview,第三部分可以為Result

     * ,綜上所述,如果是一個顯示結果的成員變量textview,它的命名應該為gTxtResult

2, 判斷語句,盡量用switch不要用if。比如一段代碼:

int i = 0;
        if (i == 0) {
			System.out.println(i);
		}
        if (i == 1) {
        	System.out.println(i);
		}
        if (i == 2) {
        	System.out.println(i);
		}
           

這是代碼片段1,

下面是代碼片段2,

int i = 0;
        switch (i) {
        case 0:
        	System.out.println(i);
        	break;
        case 1:
        	System.out.println(i);
        	break;
        case 2:
        	System.out.println(i);
        	break;
        default:
        	break;
        }
           

  從上面的2段代碼可以看出, 判斷分支,代碼片段1的寫法,意味着每個條件都要判斷,等于計算機做了2次無用功。是以,盡量用switch,少用或者不用if語句

可能很多人覺得這些是最基本的常識,可我要說,做工作尤其是做程式員,對于程式的嚴謹性要求是很高的,一個字母的差異就可能導緻一個程式執行出不同的結果,是以,我要認真對于每一行代碼,做到完美,把小事做好,做大事才有保障

繼續閱讀