原創文章,謝絕轉載。java
咱們先來看看百度百科給出的釋義:
代碼就是程序員用開發工具所支持的語言寫出來的源文件,是一組由字符、符號或信號碼元以離散形式表示信息的明確的規則體系。代碼設計的原則包括惟一肯定性、標準化和通用性、可擴充性與穩定性、便於識別與記憶、力求短小與格式統一以及容易修改等。 源代碼是代碼的分支,某種意義上來講,源代碼至關於代碼。現代程序語言中,源代碼能夠書籍或磁帶形式出現,但最爲經常使用格式是文本文件,這種典型格式的目的是爲了編譯出計算機程序。計算機源代碼最終目的是將人類可讀文本翻譯成爲計算機可執行的二進制指令,這種過程叫編譯,它由經過編譯器完成。
百科給出的說明稍顯複雜,不過,總的來講是解釋的比較詳細的。若是要我來作個簡單介紹,我以爲代碼就是人類書寫的一段可以轉化爲機器可執行的一段文字,這段文字多是天然語言,也多是非天然語言。早期來講,代碼都是非天然語言,人類沒法很是直觀的看出一段代碼的含義,到了如今,代碼基本都是天然語言,每段代碼都包含天然語義,只要你懂英文,就算不是程序猿也可以大概的看懂一段簡單的代碼。
由上面的說明不難看出,代碼到最後都是須要從天然語言到機器語言進行轉換,而後機器才能運行這些代碼。簡單來講,代碼是給機器執行的而存在的,一份不能或者不須要被執行的代碼,基本能夠說是沒有意義的。而衡量一段代碼的價值的最好標準莫過於看這段代碼運行了多久,運行了多少次。你說別人代碼寫的很差,可是別人的代碼運行了10年了,你說你本身的代碼算法精妙,運行了幾天就被人優化掉了,那麼大家兩個的代碼誰更有價值呢?
說了那麼多,好像尚未說到今天的主題,下面我們就聊聊編程之美,別的先不說,先上一份代碼:程序員
public int xiao (int a, int b) {
int c = 0;
if (a < b) {
c = a;
}
if (b < a) {
c = b;
}
return c;
}
public int min (int num1, int num2) {
if (num1 > num2) {
return num2;
}
return num1;
}
public int min (int num1, int num2) {
return num1 < num2 ? num1 : num2;
}
複製代碼
上面的代碼很是簡單,就是個接收兩個數字並返回較小的一個數字的方法,只是使用了不一樣的寫法進行書寫,下面來分析下每種寫法,第一種,太過囉嗦,且還有bug,並且沒有遵循基本的編程命名規範,使用了拼音命名方法,形成若是不看方法體,你多半都不知道這個方法是幹什麼的,後面兩種從命名和寫法上來講相對都比較規範,沒有出現嚴重的問題,不過第三種寫法來講更爲簡潔。
算法
public class Bean {
private static final String TAG = "Bean";
public static final int STATUS_SUCCESS = 0;
public static final int STATUS_FAILED = 1;
private String mUserName;
private String mUserSex;
private String mUserAge;
}
public class bean {
public static final String tag = "bean";
public static final int statusSuccess = 23;
public static final int status_failed = 45621;
public String ming_zi;
private String xBIE;
String NianLing;
}
複製代碼
這是一個很是常見的實體類的聲明,能夠看到第一種寫法是很是中規中矩的,遵循英文命名,駝峯規範,權限該公有的公有該私有的私有等等,而第二種則是典型的反例,類名首寫未大寫,字段權限混亂,使用了拼音,命名結構混亂,常量取值詭異,把能犯的錯挨個犯了一遍。做爲一名正常的人,我相信看到第一份代碼,心情是舒暢的,看到第二份代碼,內心是罵孃的。
編程