隨筆 - 3  文章 - 8  trackbacks - 0
          <2006年1月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          2006年

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章分類

          文章檔案

          相冊

          最新隨筆

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          1、訪問實例與類中變量的規則

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

          2、引用類中的靜態變量與方法的規則

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

          3、變量賦值規則

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

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

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

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

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

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

            上面的賦值應修改為下面的方式:

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

          FX:綜合規則

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

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

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

           return isTrue;

            相似的有,

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

            應該修改為:

           return(condition?x:y);

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

          例如下面的代碼:

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

          4、常量的命名規則

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

          如下所示的代碼:

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

          5、變量的命名規則

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

          如下所示代碼:

           int i;
           char c;
           float imageWidth;

          6、方法的命名規則

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

          例如下面的代碼:

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

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

          例如下面的代碼:

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

            如果該方法在軟件產品的不斷升級中已經不被建議使用了,可以通過在方法聲明注釋
          福分添加關鍵字@deprecate實現。

          7、代碼長度與拆行規則

            代碼行長度 

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

            拆行規則

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

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

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

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


          網站導航:
           
          主站蜘蛛池模板: 门头沟区| 托克逊县| 云霄县| 大荔县| 吉首市| 姜堰市| 吉隆县| 建湖县| 南宁市| 姚安县| 海晏县| 宕昌县| 民丰县| 天水市| 彰化市| 东兰县| 东源县| 睢宁县| 民丰县| 浪卡子县| 格尔木市| 油尖旺区| 湘阴县| 辽宁省| 长宁县| 棋牌| 营山县| 大宁县| 郸城县| 尚义县| 鹿邑县| 德钦县| 乌拉特中旗| 巴彦淖尔市| 乃东县| 读书| 洪洞县| 定襄县| 张家港市| 宝兴县| 红安县|