重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
1. 寫完代碼后用代碼給是工具format一下,讓其格式符合規(guī)范,看起來自然舒服; 完美主義型的程序員請在敲代碼的時候就按照規(guī)范的格式來,這樣離開了format工具代碼一樣漂亮;
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序設(shè)計、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了博州免費建站歡迎大家使用!
2. 消除代碼中所有的warnning,警告信息畢竟不是在開玩笑,不能置之不理,一些可以確定不存在風(fēng)險、且無法修復(fù)的warning,如在1.5及以后的JDK版本中使用不帶泛型的老版集合接口時編譯器給出的warning, 可使用@SuppressWarnings標(biāo)注將其忽略;
3. 提交每一個change set之前,使用Findbug這個工具(有eclipse插件)檢查一遍代碼,把它提示的所有bug都修掉,這樣可以消除大量程序隱患;
4. 編寫充足的測試用例,如果你發(fā)現(xiàn)自己的代碼不可測,即無法方便地編寫test case,那一定是代碼結(jié)構(gòu)設(shè)計得有問題,重構(gòu)之,直到可測試為止。
總結(jié):在沒有導(dǎo)師review和指導(dǎo)的情況下,完全可以通過上面四個方法自行提高代碼質(zhì)量和OO設(shè)計水平。而代碼質(zhì)量也在一定程度上反映了程序員對待職業(yè)的態(tài)度,你當(dāng)自己是碼農(nóng),按碼農(nóng)的標(biāo)準(zhǔn)去干活,那你永遠(yuǎn)是碼農(nóng)。你當(dāng)自己是藝術(shù)家,按藝術(shù)的標(biāo)準(zhǔn)是coding,那么終有一天你會成為代碼藝術(shù)家。
用來檢查編譯器無法發(fā)現(xiàn)的更復(fù)雜一點的錯誤,最大可能避免(可能出現(xiàn)的)運行錯誤。很多代碼寫法編譯器不報錯,嚴(yán)格來講也沒錯,但是會極大增加運行時報錯的風(fēng)險,靜態(tài)檢查工具就是用來跑程序之前盡量發(fā)現(xiàn)這些問題。例如變量引用前沒有判空啦多線程引用變量沒有鎖啦blahblahblah
public class Alone4_2{
public static void main(String[] args){
int n=10;
//下面的輸出語句結(jié)尾少個分號
System.out.println("n="+n);
if(n%2==0){
System.out.println("n為偶數(shù)");
}
else System.out.println("n為奇數(shù)");
}
}
下,下面那個回短消息給你了!
Checkstyle
這個可以自定義規(guī)范,如變量的命名規(guī)范,方法的命名的規(guī)范,一行代碼的字?jǐn)?shù),一個方法的行數(shù),是否已經(jīng)加注釋等等
class Person{
private String name;
private Person friend;
Person(String name){
this.name=name;
}
void setFriend(Person friend){
this.friend=friend;
}
String getName(){
return name;
}
String getFriendName(){
return friend.name;
}
}
public class Self1{
public static void main(String[] args){
Person man1=new Person("aaa");
Person man2=new Person("bbb");
man1.setFriend(man2);
man2.setFriend(man1);
System.out.println(man1.getName()+"'sfriend"+man1.getFriendName());
System.out.println(man2.getName()+"'sfriend"+man2.getFriendName());
}
}
這樣就可以了。你把最后的那個大括號放到Self1這個類的上面,不然編譯器就把Self1這個類當(dāng)作是Person類的內(nèi)部類。