摘要:縮進推薦使用個空格做為縮進單位。換行縮進區(qū)別代碼嵌套內(nèi)部需要縮進。比如如果上述規(guī)則導(dǎo)致代碼混淆或超過右邊的邊界,則只需縮進個空格即可。優(yōu)選操作符前面避免下面是個縮進方法聲明的示例。
4 - 縮進
推薦使用4個空格做為縮進單位。
關(guān)于使用空格或者tab并沒有決定性的要求。tab需要設(shè)置為8個空格而不是4個。
Q: 換行、縮進 區(qū)別
A: 代碼嵌套、內(nèi)部需要縮進。比如方法的實現(xiàn)和if的內(nèi)部,如下:
if (boolenArg) { doSomething(); //這叫縮進 4個空格 } var longName1 = longName2 + longName3 + longName4 + longName5 + longName6; //這叫換行 太長了換了第二行4.1 行長
避免超過80個字符的行,因為很多終端和工具不能很好的處理它們。
Note: 注釋中使用的示例應(yīng)該具有較短的行長, 一般不超過70個字符4.2 換行規(guī)則
當一個表達式不適合多帶帶一行時,根據(jù)以下一般原則將它分解:
逗號之后
操作符前面
優(yōu)選在高級別的運算后面換行
將新行與上一行中相同級別的表達式的開頭對齊。比如(、)、[、]
如果上述規(guī)則導(dǎo)致代碼混淆或超過右邊的邊界,則只需縮進8個空格即可。
參考案例:
someMethod(longExpression1, longExpression2, longExpression3, longExpression4, longExpression5); // 逗號后面 8個空格 var = someMethod1(longExpression1, someMethod2(longExpression2, longExpiression3)); // 16個空格,因為是方法內(nèi)部的函數(shù)
下面是2個算術(shù)運算的換行例子。第一個是優(yōu)選的,因為它換行是在高級別的運算外面。
longName1 = longName2 * (longName3 + longName4 - longName5) + 4 * longName6; //優(yōu)選 操作符前面 longName1 = longName2 * (longName3 + longName4 - longName5) + 4 * longName6; //避免
下面是2個縮進方法聲明的示例。第一個是常規(guī)換行。第二個例子中如果按照常規(guī)換行會太
緊貼右邊,所以只前置了8個空格。
//常規(guī)換行 括號對齊 someMethod(int anArg, Object anotherArg, String yetAnotherArg, Object andStillAnother) { //do something } // 縮進8個空格 避免很長的縮進. // 這種情況,如果也使用括號對齊的話,右邊都沒辦法寫代碼了 private static synchronized horkingLongMethodName (int anArg, Object anotherArg, String yetAnotherArg, Object andStillAnother) { // do something }
if 表達式的換行應(yīng)該使用8個空格,因為4個空格會讓表達式的內(nèi)部的代碼很不容易區(qū)分,例如:
// 不要使用這種縮進 if ((condition1 && condition2) || (condition3 && condition4) ||!(condition5 && condition6)) { //錯誤寫法 doSomethingAboutIt(); // 這行很容易被忽略 } // 推薦使用 if ((condition1 && condition2) || (condition3 && condition4) ||!(condition5 && condition6)) { doSomethingAboutIt(); } // 或者使用 if ((condition1 && condition2) || (condition3 && condition4) ||!(condition5 && condition6)) { doSomethingAboutIt(); }
以下是三種可接受的方式來設(shè)置三元表達式的格式:
alpha = (aLongBooleanExpression) ? beta : gamma; alpha = (aLongBooleanExpression) ? beta : gamma; alpha = (aLongBooleanExpression) ? beta : gamma;
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/69405.html
摘要:例后的為比特值表示為真代碼的縮進量縮進等級不同會導(dǎo)致代碼語義的改變,語言要求的是同一代碼塊的每一行代碼必須具有相同的縮進量。例后的為比特值表示為真我以剛才的代碼為基礎(chǔ),不規(guī)范縮進后運行,會出現(xiàn)上圖相應(yīng)的錯誤提示。 ?hello,程序猿們,我是挪威森林的水手,從此篇文章開始,我將和大家一起從0...
摘要:介紹配置文件,配置顯示行號支持中文不亂碼突出顯示當前行,設(shè)置高亮顯示括號匹配和縮進,解決粘貼時多出縮進和空格問題。為了方便使用,基本的配置選項一般都會包括支持中文不亂碼設(shè)置編碼與編碼有關(guān)的變量包括。 介紹Vim配置文件.vimrc,配置Vim顯示行號、支持utf8中文不亂碼、突出顯示Vim當前行,設(shè)置高亮顯示括號匹配和tab縮進,解決Vim粘貼時多出縮進和空格問題。 一、Vim配置文件...
摘要:為什么要編寫可維護的軟件生命周期的成本消耗在了維護上。相等具有強制類型轉(zhuǎn)換的機制。檢測字符串檢測數(shù)字檢測布爾值檢測檢測引用值引用值也稱為對象,檢測某個引用值的類型的官方最好的方法是使用運算符。 為什么要編寫可維護的javascript? 軟件生命周期80%的成本消耗在了維護上。 幾乎所有的軟件維護者都不是它的最初作者。 編碼規(guī)范提高了軟件的可讀性,它讓工程師能夠快速且充分地理解新的代...
摘要:為什么要編寫可維護的軟件生命周期的成本消耗在了維護上。相等具有強制類型轉(zhuǎn)換的機制。檢測字符串檢測數(shù)字檢測布爾值檢測檢測引用值引用值也稱為對象,檢測某個引用值的類型的官方最好的方法是使用運算符。 為什么要編寫可維護的javascript? 軟件生命周期80%的成本消耗在了維護上。 幾乎所有的軟件維護者都不是它的最初作者。 編碼規(guī)范提高了軟件的可讀性,它讓工程師能夠快速且充分地理解新的代...
閱讀 919·2021-11-23 09:51
閱讀 1146·2021-11-15 17:57
閱讀 1693·2021-09-22 15:24
閱讀 835·2021-09-07 09:59
閱讀 2258·2019-08-29 15:10
閱讀 1872·2019-08-29 12:47
閱讀 785·2019-08-29 12:30
閱讀 3401·2019-08-26 13:51