隨筆 - 3  文章 - 8  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          2006年

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章分類

          文章檔案

          相冊

          最新隨筆

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          1、訪問實例與類中變量的規(guī)則

            一般情況下,都不要將類中的變量聲明為公共類型(public),除非設(shè)計要求如此,如果變量不是公共類型的,這樣職能通過public類型方法去訪問相關(guān)變量,例如:getXX()方法等。如果你創(chuàng)建的類中沒有熱核和行為為()方法,此時你不得不將這個類中的變量聲明
          為公共(public)類型,以供外界訪問。

          2、引用類中的靜態(tài)變量與方法的規(guī)則

            當(dāng)你試圖在你的代碼中引用類的靜態(tài)方法或靜態(tài)成員變量時,不要通過該類的實例對象引用它們,盡管這樣是允許的。你應(yīng)該通過類來引用它們,如下所示的代碼:
           
           public static classMethod();
           MyClass.classMethod();  //正確
           myObject.classMethod();  //不正確(應(yīng)該避免)

          3、變量賦值規(guī)則

            盡量避免在一個當(dāng)行語句中將一個變量賦多個值,這樣將是代碼變得艱澀、難懂,
          例如下面的代碼:
           
           userName=user1.name='jerry lin'; //這種賦值方式應(yīng)盡量避免

            盡量避免對一元表達式的賦值,例如下面的代碼在Java中是絕對不允許的;
           
           if(i++=m++){
             ...
           }

            當(dāng)然可以修改為下面的方式,便可以逃避語法錯誤,不過這是不被推薦使用的:

           if((c++=d++)!=0){
             ...
           }

            計量避免嵌套賦值,這樣會浪費編譯器較多的時間,例如下面的代碼:

           d=(a=b+c)+r;

            上面的賦值應(yīng)修改為下面的方式:

           a=b+c;
           d=a+r;

          FX:綜合規(guī)則

            括號規(guī)則
            應(yīng)盡量使用括號()來界定表達式的結(jié)合順序,避免由于運算符優(yōu)先級的問題而導(dǎo)致非主觀意圖錯誤,即使你對運算符優(yōu)先級比較了解而且代碼看起來也比較清晰,但是其
          他程序員看這段代碼未必像你一樣清楚,例如下面的代碼:

           if(i==j&&m==n)  //應(yīng)盡量避免
           if((i==j)&&(m==n)) //正確

            返回值規(guī)則
            應(yīng)計量使程序結(jié)構(gòu)與你的意圖匹配,例如:
           
           if(isTrue){
             return true;
           }else{
             return false;
           }
            
            上面的程序有些“受累不討好”的感覺,應(yīng)該修改為:

           return isTrue;

            相似的有,

           if(condition){
             return x;
           }
           return y;

            應(yīng)該修改為:

           return(condition?x:y);

            特殊注釋規(guī)則
            你可以在程序中通過一些特殊注釋來表示你的偽代碼,例如,用EXECUTE表示該代碼有問題但是可執(zhí)行,用FIXME表示代碼有問題切不可執(zhí)行

          例如下面的代碼:

           if(isTrue){
             //EXECUTE
           int i=0;
           i++;
           }else{
             //FIXME 因為i沒有被聲明
             i++;
           }

          4、常量的命名規(guī)則

            Java中的常量一般采用大寫字母單詞命名,單詞與單詞之間用下劃線(_)加以分割,這符合ANSI的常量命名規(guī)則

          如下所示的代碼:

           static final int MIN_WIDTH=14;
           static final int MAX_WIDTH=1000;
           static final intGET_THE_MEMORTY=128;

          5、變量的命名規(guī)則

            變量的命名規(guī)則是,除了變量(variable),所有對象的實例(instance),類(class)與類的敞亮(constant)的第一個字母應(yīng)該小寫,在多個單詞混合的情況下第一個單詞后
          的所有單詞的第一個字母大寫,區(qū)域字母小寫的規(guī)則外。變量的第一個字母即使系統(tǒng)允許,也不要為_或者$。變量名字因該緊湊而有意義。變量的名字應(yīng)該是易記憶、易于理解的,及時進個較長的時間也可以依其名而知其意。另外單自負的變量名應(yīng)該盡量避免,除非臨時變量,例如,一些整數(shù)字符臨時變量:i,j,k,m,n等以及單字符變量:c,d,e等,

          如下所示代碼:

           int i;
           char c;
           float imageWidth;

          6、方法的命名規(guī)則

            方法一般來說都是動詞,第一個字母應(yīng)該小寫,在多個單詞混合的情況下,第一個單詞后的所有單詞的第一個字母大寫,其余字母小寫

          例如下面的代碼:

             run();
           runFast();
           getBackground();

            在方法的聲明部分,通常要提供對方法功能的描述,以及方法中返回值與參數(shù)的說明

          例如下面的代碼:

           /**
            * 顯示系統(tǒng)信息方法
            * @param message 系統(tǒng)信息參數(shù)
            * @return message 返回系統(tǒng)信息
           */
           public String showMessage(String message) {
            ...
             //statements;
            ...
            return message;
           }

            如果該方法在軟件產(chǎn)品的不斷升級中已經(jīng)不被建議使用了,可以通過在方法聲明注釋
          福分添加關(guān)鍵字@deprecate實現(xiàn)。

          7、代碼長度與拆行規(guī)則

            代碼行長度 

            一般來說Java的代碼行長度應(yīng)該小于80個字符,超過這個長度可能在一些開發(fā)工具或編輯器上無法很好的顯示,而且也會給閱讀程序帶來麻煩。因此,我們應(yīng)盡量避免超過80個字符長度的代碼行。在一些文檔編輯器中慣用長度普遍為70個字符左右。

            拆行規(guī)則

            當(dāng)完整的一行代碼難以編排在統(tǒng)一個代碼行中時,我們可以根據(jù)下面的規(guī)則,對Java源代碼進行拆行編排:
           (1)在逗號后拆行
           (2)在運算符(operator)前拆行
           (3)高層拆行優(yōu)于低層拆行
           (4)拆下的代碼行應(yīng)該與其同登記的代碼行左對齊
           (5)如果上面的法則令代碼行右側(cè)距頁邊的距離,差距較大并且混亂,我們可以在適當(dāng)行采用Tab鍵(8空格鍵)處理.

          posted on 2006-01-03 13:00 水狐 閱讀(896) 評論(2)  編輯  收藏 所屬分類: Java

          FeedBack:
          # re: Java中的一些規(guī)則 2006-01-05 11:28 阿呆
          ...如果你創(chuàng)建的類中沒有"熱核"和"行為為()方法"
          請問這是什么意思?  回復(fù)  更多評論
            
          # re: Java中的一些規(guī)則 2006-01-05 13:23 水狐
          如果你創(chuàng)建的類中沒有“任何行為()”方法
            回復(fù)  更多評論
            

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 皮山县| 霍林郭勒市| 沈阳市| 台中市| 花莲县| 双桥区| 承德县| 从江县| 天峨县| 收藏| 浙江省| 平度市| 安溪县| 安义县| 泰安市| 保康县| 偃师市| 新宁县| 庆云县| 辉南县| 永清县| 崇礼县| 威远县| 南丰县| 香港| 崇义县| 新乐市| 南木林县| 彝良县| 福贡县| 屏南县| 葫芦岛市| 丰台区| 融水| 宾阳县| 会泽县| 灵丘县| 宁国市| 玉溪市| 龙里县| 博湖县|