Android開(kāi)發(fā)規(guī)范文檔

包名全部采用小寫(xiě)睬捶,不用下劃線區(qū)分單詞
主包名采用[公司性質(zhì)].[公司名稱(chēng)].[項(xiàng)目名稱(chēng)]的命名方式
  • 例如:翡翠教育做的手機(jī)助手包名edu.feicui.assistant
通用功能子包名采用[主包名].[通用名稱(chēng)]的命名方式

Android中常見(jiàn)命名規(guī)則

包名

包名全部小寫(xiě),連續(xù)的單詞只是簡(jiǎn)單地連接起來(lái)觉渴,不使用下劃線疆拘。
采用反域名命名規(guī)則哎迄,全部使用小寫(xiě)字母翔烁。一級(jí)包名為com蹬屹,二級(jí)包名為xx(可以是公司或則個(gè)人的隨便)慨默,三級(jí)包名根據(jù)應(yīng)用進(jìn)行命名厦取,四級(jí)包名為模塊名或?qū)蛹?jí)名虾攻。

包名 此包中包含
com.xx.應(yīng)用名稱(chēng)縮寫(xiě).main 頁(yè)面用到的Activity類(lèi) (activitie層級(jí)名用戶(hù)界面層)
com.xx.應(yīng)用名稱(chēng)縮寫(xiě).activity 頁(yè)面用到的Activity類(lèi) (activitie層級(jí)名用戶(hù)界面層)
com.xx.應(yīng)用名稱(chēng)縮寫(xiě).base 基礎(chǔ)共享的類(lèi)
com.xx.應(yīng)用名稱(chēng)縮寫(xiě).adapter 頁(yè)面用到的Adapter類(lèi) (適配器的類(lèi))
com.xx.應(yīng)用名稱(chēng)縮寫(xiě).util 此包中包含:公共工具方法類(lèi)(util模塊名)
com.xx.應(yīng)用名稱(chēng)縮寫(xiě).bean 下面可分:vo霎箍、po漂坏、dto 此包中包含:JavaBean類(lèi)
com.xx.應(yīng)用名稱(chēng)縮寫(xiě).model 此包中包含:模型類(lèi)
com.xx.應(yīng)用名稱(chēng)縮寫(xiě).db 數(shù)據(jù)庫(kù)操作類(lèi)
com.xx.應(yīng)用名稱(chēng)縮寫(xiě).view(或者 com.xx.應(yīng)用名稱(chēng)縮寫(xiě).widget ) 自定義的View類(lèi)等
com.xx.應(yīng)用名稱(chēng)縮寫(xiě).service Service服務(wù)
com.xx.應(yīng)用名稱(chēng)縮寫(xiě).receiver BroadcastReceiver服務(wù)
com.xx.應(yīng)用名稱(chēng)縮寫(xiě).prwd 首選項(xiàng)
com.xx.應(yīng)用名稱(chēng)縮寫(xiě).provider 內(nèi)容提供者

類(lèi)名

類(lèi)名都以UpperCamelCase風(fēng)格編寫(xiě)纠亚。
類(lèi)名通常是名詞或名詞短語(yǔ)蒂胞,接口名稱(chēng)有時(shí)可能是形容詞或形容詞短語(yǔ)∑妫現(xiàn)在還沒(méi)有特定的規(guī)則或行之有效的約定來(lái)命名注解類(lèi)型鸿染。
名詞涨椒,采用大駝峰命名法蚕冬,盡量避免縮寫(xiě)囤热,除非該縮寫(xiě)是眾所周知的旁蔼, 比如HTML,URL棺聊,如果類(lèi)名稱(chēng)中包含單詞縮寫(xiě)躺屁,則單詞縮寫(xiě)的每個(gè)字母均應(yīng)大寫(xiě)经宏。

類(lèi) 描述 例如
Activity 類(lèi) Activity為后綴標(biāo)識(shí) 歡迎頁(yè)面類(lèi)WelcomeActivity
Adapter類(lèi) Adapter 為后綴標(biāo)識(shí) 新聞詳情適配器 NewDetailAdapter
解析類(lèi) Parser為后綴標(biāo)識(shí) 首頁(yè)解析類(lèi)HomePosterParser
工具方法類(lèi) Util或Manager為后綴標(biāo)識(shí)(與系統(tǒng)或第三方的Utils區(qū)分)或功能+Util 線程池管理類(lèi):ThreadPoolManager日志工具類(lèi):LogUtil(Logger也可)打印工具類(lèi):PrinterUtil
數(shù)據(jù)庫(kù)類(lèi) 以DBHelper后綴標(biāo)識(shí) 新聞數(shù)據(jù)庫(kù):NewDBHelper
Service類(lèi) 以Service為后綴標(biāo)識(shí) 時(shí)間服務(wù)TimeServiceBroadcast
Receiver類(lèi) 以Receiver為后綴標(biāo)識(shí) 推送接收J(rèn)PushReceiver
ContentProvider 以Provider為后綴標(biāo)識(shí) 1
自定義的共享基礎(chǔ)類(lèi) 以Base開(kāi)頭 BaseActivity,BaseFragment

方法名

方法名都以 LowerCamelCase 風(fēng)格編寫(xiě)。
方法名通常是動(dòng)詞或動(dòng)詞短語(yǔ)沪斟。

方法 說(shuō)明
initXX() 初始化相關(guān)方法,使用init為前綴標(biāo)識(shí)择吊,如初始化布局initView()
isXX() checkXX() 方法返回值為boolean型的請(qǐng)使用is或check為前綴標(biāo)識(shí)
getXX() 返回某個(gè)值的方法几睛,使用get為前綴標(biāo)識(shí)
handleXX() 對(duì)數(shù)據(jù)進(jìn)行處理的方法所森,盡量使用handle為前綴標(biāo)識(shí)
displayXX()/showXX() 彈出提示框和提示信息焕济,使用display/show為前綴標(biāo)識(shí)
saveXX() 與保存數(shù)據(jù)相關(guān)的晴弃,使用save為前綴標(biāo)識(shí)
resetXX() 對(duì)數(shù)據(jù)重組的肝匆,使用reset前綴標(biāo)識(shí)
clearXX() 清除數(shù)據(jù)相關(guān)的
removeXXX() 清除數(shù)據(jù)相關(guān)的
drawXXX() 繪制數(shù)據(jù)或效果相關(guān)的旗国,使用draw前綴標(biāo)識(shí)
量詞列表 量詞后綴說(shuō)明
First 一組變量中的第一個(gè)
Last 一組變量中的最后一個(gè)
Next 一組變量中的下一個(gè)變量
Prev 一組變量中的上一個(gè)
Cur 一組變量中的當(dāng)前變量能曾。

資源文件命名規(guī)范

資源布局文件(XML文件(layout布局文件)):
全部小寫(xiě)寿冕,采用下劃線命名法
contentview 命名
必須以全部單詞小寫(xiě)驼唱,單詞間以下劃線分割玫恳,使用名詞或名詞詞組京办。
所有Activity或Fragment的contentView必須與其類(lèi)名對(duì)應(yīng)惭婿,對(duì)應(yīng)規(guī)則為:
將所有字母都轉(zhuǎn)為小寫(xiě)换吧,將類(lèi)型和功能調(diào)換(也就是后綴變前綴)式散。

名稱(chēng) 描述 命名
Dialog dialog_描述.xml dialog_hint.xml
PopupWindow ppw_描述.xml ppw_info.xml
列表項(xiàng) item_描述.xml item_city.xml
包含項(xiàng) 模塊_(位置)描述.xml activity_main_head.xml暴拄、activity_main_bottom.xml

UI控件縮寫(xiě)表

控件 縮寫(xiě) 例子
LinearLayout ll llFriend或者mFriendLL
RelativeLayout rl rlMessage或mMessageRL
FrameLayout fl flCart或mCartFL
TableLayout tl tlTab或mTabTL
Button btn btnHome或mHomeBtn
ImageButton ibtn btnPlay或mPlayIBtn
TextView tv tvName或mNameTV
EditText et etName或mNameET
ListView lv lvCart或mCartLV
ImageView iv ivHead或mHeadIV
GridView gv gvPhoto或mPhotoGV

資源文件(圖片drawable文件夾下):

全部小寫(xiě)乖篷,采用下劃線命名法撕蔼,加前綴區(qū)分
命名模式:可加后綴 small 表示小圖, big 表示大圖鲸沮,邏輯名稱(chēng)可由多個(gè)單詞加下劃線組成讼溺,采用以下規(guī)則:
用途
模塊名
邏輯名稱(chēng)
用途模塊名顏色
用途邏輯名稱(chēng)
用途
顏色
說(shuō)明:用途也指控件類(lèi)型(具體見(jiàn)UI控件縮寫(xiě)表)

名稱(chēng) 命名
btn_main_home.png 按鍵
divider_maket_white.png 分割線
ic_edit.png 圖標(biāo)
bg_main.png 背景
btn_red.png 紅色按鍵
btn_red_big.png 紅色大按鍵
ic_head_small.png 小頭像
bg_input.png 輸入框背景
divider_white.png 白色分割線

如果有多種形態(tài)如按鈕等除外如 btn_xx.xml(selector)

功能 命名
按鈕圖片使用btn_正常情況效果 btn_xx_normal
按鈕圖片使用btn_點(diǎn)擊時(shí)候效果 btn_xx_pressed
state_focused聚焦效果 btn_xx_focused
state_enabled (false)不可用效果 btn_xx_disabled
state_checked選中效果 btn_xx_checked
state_selected選中效果 btn_xx_selected
state_hovered懸停效果 btn_xx_hovered
state_checkable可選效果 btn_xx_checkable
state_activated激活的 btn_xx_activated
state_window_focused btn_xx_windowfocused
背景圖片使用bg_功能_說(shuō)明 bg_head
默認(rèn)圖片使用def_功能_說(shuō)明 def_search_cell
圖標(biāo)圖片使用ic_功能_說(shuō)明 ic_more_help
具有分隔特征的圖片使用seg_功能_說(shuō)明 seg_list_line
選擇圖標(biāo)使用sel_功能_說(shuō)明 sel_ok

常見(jiàn)的英文單詞縮寫(xiě):

名稱(chēng) 縮寫(xiě)
icon ic (主要用在app的圖標(biāo))
color cl(主要用于顏色值)
divider di(主要用于分隔線,不僅包括Listview中的divider藻懒,還包括普通布局中的線)
selector sl(主要用于某一view多種狀態(tài)嬉荆,不僅包括Listview中的selector,還包括按鈕的selector)
average avg
background bg(主要用于布局和子布局的背景)
buffer buf
control ctrl
delete del
document doc
error err
escape esc
increment inc
infomation info
initial init
image img
length len
library lib
message msg
password pwd
position pos
server srv
string str
temp tmp
window wnd(win)
一般功能子包名采用[主包名].[模塊名稱(chēng)].[子模塊名稱(chēng)]的命名方式。
  • 例如:手機(jī)助手的鬧鐘模塊包名 edu.feicui.assistant.alarm
只需導(dǎo)入用到的類(lèi)陆爽,不得用*導(dǎo)入包下所有類(lèi)
導(dǎo)入類(lèi)時(shí),系統(tǒng)類(lèi)在上方,自定義類(lèi)在下方

1 代碼主要采用大/小駝峰命名法驴剔,即除首字母外丧失,每個(gè)單詞首字母大寫(xiě)布讹,整體首字母大小根據(jù)其它規(guī)范決定

2 類(lèi)名描验、接口名膘流、枚舉名等首字母大寫(xiě)呼股,若由多個(gè)單詞組成画恰,則其后每個(gè)單詞首字母大寫(xiě)允扇,例如:
class ConfigManager{}

3 類(lèi)名蔼两、接口名、枚舉名等首字母大寫(xiě)妙啃,若由多個(gè)單詞組成揖赴,則其后每個(gè)單詞首字母大寫(xiě)燥滑,例如:
class ConfigManager{}

4 繼承自安卓組件的類(lèi)铭拧,采用父類(lèi)名作為后綴搀菩,例如:
class LoginActivity extends Activity{}

5 自定義異常必須以Exception結(jié)尾

6 除for循環(huán)變量外,一律不得使用i歧蒋、j谜洽、k等單字符作為變量名

7 定義數(shù)組時(shí)方括號(hào)緊隨在原始類(lèi)型之后阐虚,數(shù)組名稱(chēng)一般使用復(fù)數(shù)形式晤郑,

  • 例如:int[] arrays;

8 常量造寝、枚舉等均采用大寫(xiě)形式诫龙,用下劃線區(qū)分各單詞签赃,

  • 例如:final static int DIALOG_ID_ALARM = 1;
    enum Season{SPRING, SUMMER, AUTUMN, WINTER};

9 全局變量添加所有者前綴:實(shí)例成員變量前綴m(表示member)锦聊,類(lèi)靜態(tài)變量前綴s(表示static)孔庭,

  • 例如:實(shí)例變量mRun
    類(lèi)靜態(tài)變量sInstance

10 控件變量添加組件前綴圆到,順序在所有者前綴之后芽淡,

  • 例如:全局名稱(chēng)mBtnNext
    局部名稱(chēng)btnNext
常見(jiàn)控件前綴如下表:
Paste_Image.png
Paste_Image.png

11 除單例模式外一般不得使用靜態(tài)變量

12 常量一般使用final static修飾富稻,根據(jù)需要使用可見(jiàn)性修飾符唉窃,例如:
public static final int VISIBLE = 0x00000000;

13 一般方法名首字母小寫(xiě)纹份,若由多個(gè)單詞組成蔓涧,則其后每個(gè)單詞首字母大寫(xiě)

14 構(gòu)造方法采用遞增方式(參數(shù)多的寫(xiě)在后面)

  • 例如:
  public GameView(Context context) {
      this(context, null);
  }
  public GameView(Context context, AttributeSet attrs) {
      this(context, attrs, 0);
  }
  public GameView(Context context, AttributeSet attrs, int defStyle) {}

15 僅在項(xiàng)目?jī)?nèi)使用的實(shí)體類(lèi)不使用JavaBean進(jìn)行封裝元暴,直接將成員變量訪問(wèn)修飾符修改為非private,例如:
class User{public String name,pwd;}

16 實(shí)體類(lèi)中固定值的成員變量可設(shè)置成final茉盏,并通過(guò)構(gòu)造函數(shù)初始化

17 實(shí)體類(lèi)中不得隨意修改的成員變量可添加下劃線前綴以作區(qū)別,例如:
class User{public int _id;}

18 一般不使用System.out輸出鸠姨,而是使用Log中的方法

19 使用BuildConfig.DEBUG標(biāo)記對(duì)Log進(jìn)行封裝讶迁,只在調(diào)試時(shí)輸出重要信息巍糯,正式版不輸出

20 一般try……catch只捕獲需要的異常,catch塊不得為空祟峦,至少應(yīng)當(dāng)將異常信息輸出

21 資源命名全部采用小寫(xiě)宅楞,各單詞間以下劃線區(qū)分

22 布局文件采用[前綴]_[功能模塊].xml的命名方式疆偿,

  • 例如:
    MainActivity的布局activity_main.xml]
常見(jiàn)前綴如下表:
Paste_Image.png

23 圖片采用[性質(zhì)前綴][功能模塊] [屬性后綴].[擴(kuò)展名]的方式迅箩,

  • 例如:
    主背景圖片bg_main.png
    確定按鈕按下btn_ok_presssed.png
常見(jiàn)屬性后綴如下表:
Paste_Image.png
values目錄下文件名稱(chēng)較固定处铛,不得隨意更改饲趋,常見(jiàn)名稱(chēng)如下:
Paste_Image.png

1開(kāi)源項(xiàng)目必須添加文件注釋?zhuān)情_(kāi)源項(xiàng)目建議添加拐揭,例如:

/*
  * @(#): Document.java
  * @project:IndentObjectNatation
  * @version: v1.1
  * @copyright: Copyright (C) 2013-2014 The Emerald Education
  * @description: 
  *         This file is a part of Indent Object Notation project.
  * 
  * @modify:
  * ---- No.1 Modified By Mr. Tang At 2014-05-06 11:32 Based On 1.0 ----
  *      Create this file.
  * ---- No.2 Modified By Mr. Zhang At 2014-05-06 11:32 Based On 1.0 ----
  *      Make the class Document extend from the class Node.
  */

2類(lèi)定義一般需要寫(xiě)類(lèi)注釋?zhuān)涌谝话阈枰獙?xiě)接口注釋?zhuān)绻麤](méi)有文件注釋?zhuān)瑒t需要在類(lèi)注釋和接口注釋中標(biāo)出作者,例如:

/**
  * Root of the ION tree, provides the access to the   document's data.
  * <p>
  * Subclass of {@link Node}, Since elements, comments, etc. cannot exist
  * outside the context of a Document, the Document also contains the
  * factory methods needed to create these objects.
  * </p>
  * 
  * @author Mr. Zhang
  */
  class Document {}

3成員變量奕塑、靜態(tài)變量堂污、常量等添加屬性注釋?zhuān)纾?/p>

 /** This view is invisible. */
 public static final int INVISIBLE = 0x00000004;

4關(guān)聯(lián)性較大的多個(gè)成員變量等可以共用同一條注釋?zhuān)纾?/p>

/** The width and height of View. */
 private int mWidth, mHeight;

5public和protected方法必須添加方法注釋?zhuān)琩efault和private方法建議添加方法注釋?zhuān)纾?/p>

 /**
  * Writes {@code count} characters starting at {@code offset}     in {@code buf}
  * to the target.
  *
  * @param buf
  *            the non-null character array to write.
  * @param offset
  *            the index of the first character in {@code buf} to write.
  * @param count
  *            the maximum number of characters to write.
  * @return {@code true} if success, otherwise {@code false}
  * @throws IndexOutOfBoundsException
  *             if {@code offset < 0} or {@code count < 0}, or if {@code
  *             offset + count} is greater than the size of {@code buf}.
  * @throws IOException
  *             if this writer is closed or another I/O error occurs.
  */
   public abstract boolean write(char[] buf, int offset, int count) throws IndexOutOfBoundsException, IOException;

6若覆蓋基類(lèi)的方法,則可以不寫(xiě)方法注釋?zhuān)仨氂聾Override標(biāo)出龄砰,例如:

 @Override
 protected void onCreate(Bundle savedInstanceState) {}

7不建議繼續(xù)使用的方法用@Deprecated標(biāo)出

8switch……case的每個(gè)條件一般添加簡(jiǎn)短說(shuō)明盟猖,例如:

 switch (type) {
 case 1:// Android apps
       break;
 case 2:// Android games
       break;
 case 3:// iOS apps
       break;
 default:// Not a valid package
       break;
 }

9 如果if的條件大于2個(gè)固蚤,則必須寫(xiě)注釋?zhuān)纾?/p>

 if (isBluetooth // If Bluetooth network is on
             || isWifi // If WLAN network is on
             || is3g // if 3g network is on
   ) {}

10 對(duì)于未完成的方法你弦,使用TODO加以標(biāo)記,例如:

void write(byte[] buf, File file) {
  // TODO: Write buf to file
}

11 若功能已完成,但存在效率等潛在問(wèn)題時(shí)狸捅,使用XXX加以標(biāo)記斋陪,例如:

void parseXML(File file) {
     // XXX: Maybe SAX is better
     DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
     Document doc = builder.parse(file);
 }

12 若代碼存在嚴(yán)重問(wèn)題或僅用于調(diào)試缔赠,使用FIXME加以標(biāo)記(注:存在FIXME標(biāo)記的代碼不能作為正式版發(fā)布)

boolean login(String name, String pwd) {
      //FIXME: Remove this line before publishing
      System.out.println("name=" + name + ", password=" + pwd);
      if (users.containsKey(name) && users.get(name).equals(pwd))
      return true;
      return false;
 }

13 如果for踢匣、while等代碼塊過(guò)長(zhǎng)后专,可以在結(jié)尾處標(biāo)記循環(huán)變量,例如:

for (int position = 0; position < 10; position++) {
        ……
}// end for: position
while(mRun){
        ……
}// end while: mRun
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末崭捍,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子亮航,更是在濱河造成了極大的恐慌泄朴,老刑警劉巖钟沛,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件三妈,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡狞玛,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事每瞒〔和剩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我腹暖,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮筑煮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘秸应。我一直安慰自己籽腕,他們只是感情好什黑,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布础浮。 她就那樣靜靜地躺著影锈,像睡著了一般沃但。 火紅的嫁衣襯著肌膚如雪维雇。 梳的紋絲不亂的頭發(fā)上津滞,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天疟丙,我揣著相機(jī)與錄音炊琉,去河邊找鬼悼泌。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播被去,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼寂汇,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼累贤!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤卖氨,失蹤者是張志新(化名)和其女友劉穎五嫂,沒(méi)想到半個(gè)月后槐臀,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡欢顷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拼岳。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡皮壁,死狀恐怖滴须,靈堂內(nèi)的尸體忽然破棺而出魔市,到底是詐尸還是另有隱情将宪,我是刑警寧澤丑勤,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布纠拔,位于F島的核電站略水,受9級(jí)特大地震影響跨释,放射性物質(zhì)發(fā)生泄漏缆娃。R本人自食惡果不足惜郭毕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一兽肤、第九天 我趴在偏房一處隱蔽的房頂上張望幢码。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至橡类,卻和暖如春谱邪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人藤抡。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓蒿往,卻偏偏與公主長(zhǎng)得像蝶俱,于是被迫代替她去往敵國(guó)和親闯割。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理灶似,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,599評(píng)論 18 139
  • Android編碼規(guī)范 源文件基礎(chǔ) 文件名 源文件以其最頂層的類(lèi)名來(lái)命名,大小寫(xiě)敏感呻疹,文件擴(kuò)展名為.java吕粗。 文...
    呼呼哥閱讀 932評(píng)論 0 0
  • 請(qǐng)看完結(jié)版:Android開(kāi)發(fā)規(guī)范(完結(jié)版)
    Blankj閱讀 8,599評(píng)論 25 115
  • 1、引言 數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中表、字段等的命名規(guī)范也算是設(shè)計(jì)規(guī)范的一部分垢箕,不過(guò)設(shè)計(jì)規(guī)范更多的是為了確保數(shù)據(jù)庫(kù)設(shè)計(jì)的合理...
    SnowflakeCloud閱讀 40,950評(píng)論 0 48
  • 作者:李旺成 時(shí)間:2016年4月3日 1. 前言 這份文檔參考了 Google Java 編程風(fēng)格規(guī)范和 Goo...
    diygreen閱讀 39,858評(píng)論 19 224