黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 面授課程 模擬考試 實(shí)用文檔 繽紛校園 英語學(xué)習(xí)
2010考研 | 自學(xué)考試 | 成人高考 | 專 升 本 | 法律碩士 | MBA/MPA | 中 科 院
四六級 | 商務(wù)英語 | 公共英語 | 職稱日語 | 職稱英語 | 博思 | 口譯筆譯 | GRE GMAT | 日語 | 托福
雅思 | 專四專八 | 新概念 | 自考英語 | 零起點(diǎn)英韓語 | 在職申碩英語
在職攻碩英語 | 成人英語三級
等級考試 | 水平考試 | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 報(bào)檢員 | 外銷員 | 司法考試 | 導(dǎo)游考試 | 教師資格 | 國際商務(wù)師 | 跟單員
單證員 | 物流師 | 價(jià)格鑒證師 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 人力資源管理師 | 管理咨詢師
期貨從業(yè)資格 | 社會工作者
會計(jì)職稱 | 注會CPA | 經(jīng)濟(jì)師 | 統(tǒng)計(jì)師 | 注冊稅務(wù)師 | 評估師 | 精算師 | 高會 | ACCA | 審計(jì)師
法律顧問 | 會計(jì)證
建造師一級二級) | 造價(jià)師 | 監(jiān)理師 | 安全師 | 咨詢師 | 結(jié)構(gòu)師 | 建筑師 | 安全評價(jià)師
估價(jià)師房地產(chǎn)估價(jià)土地估價(jià)) | 設(shè)備監(jiān)理師 | 巖土工程師 | 質(zhì)量資格 | 房地產(chǎn)經(jīng)紀(jì)人 | 造價(jià)員
投資項(xiàng)目管理 | 土地代理人 | 環(huán)保師 | 環(huán)境影響評價(jià) | 物業(yè)管理師 | 城市規(guī)劃師 | 公路監(jiān)理師
公路造價(jià)工程師 | 招標(biāo)師
執(zhí)業(yè)護(hù)士 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 衛(wèi)生資格
 丹丹云 
您現(xiàn)在的位置: 考試吧(Exam8.com) > 軟件水平考試 > 心得技巧 > 正文

JAVA的編程風(fēng)格

    很久以來都在體會著JAVA的風(fēng)格,現(xiàn)在做一簡單陳述,希望大家多提寶貴意見。

    對于一種好的編程語言,學(xué)習(xí)它的編程風(fēng)格是很重要的。每種語言都有自己的編寫和注釋約定,當(dāng)然所有語言都建立在最基本的約定之上。編程中最重要的并不是讓代碼按自己希望的方式運(yùn)行,而是程序中那種自明的編程風(fēng)格(這對于程序員的益處相信眾多程序員都身有體會)!但這還不夠,程序還應(yīng)該具有可讀、相對持久和可維護(hù)性。可讀性非常重要,因?yàn)槟悴幌M约阂郧暗淖髌吩谥蟮拈喿x中給自己留下障礙,當(dāng)然,更重要的是自己的程序能讓其他程序員讀懂并且修改。

    下面我把工作中所理解的java風(fēng)格做一簡單總結(jié),這是我所理解的好的編程風(fēng)格和應(yīng)用中我們應(yīng)當(dāng)如何使用java編寫自己的代碼的小Guide。這并不完全,希望大家?guī)臀谊懤m(xù)總結(jié)各自的經(jīng)驗(yàn)。

    一般性概述

    好的編程風(fēng)格固然重要,但是你一定聽說過一些程序員的個(gè)人風(fēng)格。其實(shí)我們完全不必為那些所謂條條框框所累,但是作為原則是我們至少不能打破這些常規(guī)。我們應(yīng)該在保持自己風(fēng)格的同時(shí)盡量的把自己與編程潛原則靠攏。

     可讀性很容易達(dá)到,比如,讓自己的代碼縮排排列、名字采用描述性但不要過長(短名應(yīng)僅僅用在非遠(yuǎn)程)、特殊名稱比如pi應(yīng)當(dāng)被定義為final類型。模塊性是編程需要注意的另一重點(diǎn),把代碼劃分到類里,在類中把功能劃分到方法中,別讓一個(gè)類太大,否則在使用、修改和理解上都會造成不必要的麻煩,方法也一樣,如果一個(gè)方法長度超過50行,它產(chǎn)生錯(cuò)誤的概率將接近100%,盡量把大方法劃分為小方法,編程中為避免重復(fù)編寫,還應(yīng)盡量調(diào)用JAVA標(biāo)準(zhǔn)類庫。

    盡量避免在寫代碼和注釋時(shí)使用不同語言,經(jīng)常見到論壇有朋友詢問諸如在java中調(diào)用c、調(diào)用php、調(diào)用shell之類的問題,其實(shí)在編程中,我們應(yīng)盡量使用一種語言去完成事情。另外就是不必最優(yōu)化自己的代碼,應(yīng)該選擇相對較優(yōu)的算法就可以了。

    類、方法和fields

    類應(yīng)體現(xiàn)出某種物質(zhì)的基本概念,比如要編程實(shí)現(xiàn)“汽車”的組成,那么所有的汽車都可以用類Car實(shí)現(xiàn)。這個(gè)類應(yīng)當(dāng)包括域描述、屬性描述和car的狀態(tài)(color, number of doors, age等)和由car可完成的操作(getColor, setColor等)。為了提高類的可重用性,不要在類中有過多的描述,當(dāng)然這也會增加錯(cuò)誤產(chǎn)生的機(jī)會。

    類名首字母大寫,比如Date, String, Hashtable等 ... ...

    類如下定義:(未使用Javadoc做注釋):

代碼:

public class Car {

 /* Instance variables are placed either in the beginning
    or at the end of the class */

 private int age;
 private Color color;
 
 /* The constructor should be placed in the beginning */

 public Car(int age, Color color) {
   this.age = age;
   this.color = color;
 }  

 /* Example method */
 public int getAge() {
   return age;
 }  
 
 /* The main method is optional, but looks like this.
    If it exists, it is either the first or the last
    method in the class */
 
 public static void main(String [] args) {
   ...

 }
}


    注意類名和大括號間的空格!

    方法

    方法一般定義為public。當(dāng)然,如果方法僅僅在當(dāng)前類用到可以定義為private,而如果希望一個(gè)子類沿用這個(gè)方法則不同,這時(shí)候的方法應(yīng)定義為protected。

    java中的方法定義很有趣,它們一般小寫字母開頭,如果有兩個(gè)字組成,第二個(gè)字的首字母則大寫。因此名字的描述性是至關(guān)重要的。這使你不用閱讀整篇代碼來判斷這是一個(gè)什么方法。在給自己的方法取名時(shí)應(yīng)盡量不要太短或者太長,另一個(gè)需要注意的是大多方法使用動詞(動賓短語)。 

    例如:
    public void eat() {}
    public void eatBananas() {}

    Selector(選擇器)方法有g(shù)et前綴,后綴是它們將要get的,比如
    public int getBananas() {}

    Mutator(存取器)方法則有set前綴,后綴則是他們要set的,比如
    public void setBananas(int amount) {}
    注意mutators大多無返回值。

    方法的參數(shù)應(yīng)當(dāng)以如下方式給出:
    public void aMethod(type parameter1, type parameter2, ... , type parametern) {}

    如果參數(shù)過長,也可以斷開為幾行,應(yīng)對齊向下排列如:
    public void aMethod(type parameter1, type parameter2,... ,
                   type parametern, type parameter n+1,... ,
                   type parameterm, type parameter m+1) {}

    另外要注意類的左束括號應(yīng)在方法的右束括號之后而非下一行:

代碼:

public int aMethod() {
 int i = 0;
 if(i == 0)
   System.out.println("success!");
}


    為了文件可讀性好,還要注意語句最好寫在同一行,當(dāng)然一行寫不下是可以斷行的,比如行字母超過80。

    fields

    比如變量,如果不希望它永久有效,應(yīng)設(shè)為private。如果一個(gè)變量在類中不發(fā)生任何動作(比如數(shù)據(jù)結(jié)構(gòu)中的node)則可以設(shè)置為public,常量一般聲明為public。如果不能確定一個(gè)變量到底該聲明為什么,應(yīng)暫且聲明為private。

    field的名字一般使用小寫字母,不要使用下橫線或其他特殊字符。 如果變量包含兩個(gè)字,那么第二個(gè)字的首字母大寫。比如:

    int i, j, k;
    Date date;
    double myField;

    常量一般全部大寫,也可以包含下橫線:

    public static final int MAX_SIZE_OF_DATABASE

    fields的名字通常為名詞。較重要的fields更應(yīng)具備描述性,比如程序中包含一個(gè)游戲的得分,那可以用score來代表。如果變量變化較頻繁,那使用一個(gè)單一字符來代表就ok了:

i, j, k 通常代表整數(shù)
r, t, u, v, w 通常代表實(shí)數(shù)
x, y, z 通常是并列出現(xiàn)或代表浮點(diǎn)數(shù)
s, s1, s2, 通常代表字符串
c, ch 通常代表字符
f, file 通常代表文件
tmp, temp 通常代表臨時(shí)變量
ctr, cnt, cntr 一般代表計(jì)數(shù)器(如果i, j, k這些變量已被使用)
dummy, foo, bar 一般代表啞元變量
args 是main-method的主參數(shù)名

    縮排與換行

    每行長度不得超過80字符。如果需要可以折行時(shí),也應(yīng)當(dāng)與上一行有共同的縮排距離。代碼應(yīng)如何交錯(cuò)、如何建立新行、在哪里建立允許、哪里不允許都有一些一般約定,縮排空格一般為2個(gè)或4個(gè)空格。

    條件表達(dá)式

    如果見到如下語法表達(dá)式:

代碼:

if (expr)          
 statement1;
else
 statement2;


    代碼行向右錯(cuò)排兩個(gè)空格如上所示。

    如果在一個(gè)表達(dá)式中有超過一條的聲明,則需要大括號:

代碼:

if (expr){
  statement1;
  statement2;
} else{
  statement3;
  statement4;
}


   

1 2 3 下一頁
轉(zhuǎn)帖于:軟件水平考試_考試吧
文章搜索
JAVA的編程風(fēng)格網(wǎng)友評論網(wǎng)友評論
版權(quán)聲明 --------------------------------------------------------------------------------------
    如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系,我們將會及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。
 
主站蜘蛛池模板: 国产在线精彩视频 | 性欧美free荷兰hd | kk4kk免费视频毛片 | 欧美在线一级片 | 国产精品成人免费综合 | 欧美三级不卡视频 | 在线a视频网站 | 亚洲精品在线播放 | 精品成人在线 | 国产网站91| 免费观看毛片视频 | 欧美日韩一区二区在线观看视频 | 人人看人人搞 | 99在线视频免费观看 | 日本欧美一区二区三区不卡视频 | 日韩午夜高清福利片在线观看 | 777色淫网站女女 | 亚洲香蕉一区二区三区在线观看 | www.爱色.com| 欧美理论影院在线观看免费 | 人人爽天天爽夜夜爽曰 | 精品91麻豆免费免费国产在线 | 精品视频免费 | 午夜影院在线观看免费 | 免费一级α片在线观看 | 国产一区二区三区影院 | 免费看曰批女人的视频 | 国产丝袜大长腿精品丝袜美女 | 火辣福利视频 | 看片网站在线观看 | 国产精品毛片无码 | 亚洲国产成人欧美激情 | 亚洲毛片在线播放 | 澳门成人免费永久视频 | 成年人在线看片 | 免费va国产高清不卡大片 | 欧美综合激情 | 麻豆一区二区大豆行情 | 欧美亚洲韩国 | 国产亚洲精品精品国产亚洲综合 | 人人夜|