需求規格說明書Github連接java
一、最終軟件版本的需求考慮還不完善,用戶模塊成了一個沒有實際功能的毫無心義的模塊,所以咱們增長了對用戶模塊的基本功能需求,擬實現日程的雲同步功能,使得用戶能夠在不一樣設備對日程進行查看。git
控件 | 縮寫 | 控件 | 縮寫 |
---|---|---|---|
TextView | text | ProgressBar | bar |
EditText | edt | SeekBar | seek |
Button | btn | CheckBox | chk |
ImageButton | ibtn | Spinner | spin |
ImageView | img | TableLayout | table |
ListView | list | TableRow | row |
RadioGroup | group | LinearLayout | llayout |
RadioButton | rbtn | RelativeLayout | rlayout |
ScrollView | scroll | SearchView | search |
TabHost | host | TabWidget | widget |
{範圍描述+}意義描述+類型描述 的組合,用駝峯式,首字母小寫。github
例子:數據庫
private TextView headerTitleText; // 標題欄的標題 private Button loginBtn; // 登陸按鈕
所有爲大寫單詞,單詞之間用下劃線分開。canvas
例子:後端
public final static int PAGE_SIZE=20;
{範圍描述+}意義描述+類型描述的組合,用駝峯式。架構
private TextView HeaderTitleText; // 標題欄的標題 private Button LoginBtn; // 登陸按鈕
使用大駝峯規則,用名詞或名詞詞組命名,每一個單詞的首字母大寫。 如下爲幾種經常使用類的命名:框架
activity 類,命名以 Activity 爲後綴,如:LoginActivity,放在根目錄下。異步
fragment 類,命名以 Fragment 爲後綴,如:DialogFragment,放在 fragment文件夾下。編輯器
service 類,命名以 Service 爲後綴,如:DownloadService,放在 service 文件夾下。
adapter 類,命名以 Adapter 爲後綴,如:CouponListAdapter,放在 adapter 文件夾下。
canvas 類,命名以 canvas 爲後綴,如 StepCanvas,放在 Canvas 文件夾下。
painter 類,命名以 Painter 爲後綴,如 ShapePainter,放在 Painter 文件夾下。
基礎類,命名以 base 爲後綴,如 CanvasBase,放在 Base 文件夾下。
通用類,如簡單的自定義控件、輔助類,放在 common 文件夾下。
使用小駝峯規則,用動詞命名,第一個單詞的首字母小寫,其餘單詞的首字母大寫。
如下爲幾種經常使用方法的命名:
初始化方法,命名以 init 開頭,例:initView()。
按鈕點擊方法,命名以 on 開頭,Click 結尾,例:onLoginClick()。
設置方法,命名以 set 開頭,例:setData()。
具備返回值的獲取方法,命名以 get 開頭,例:getData()。
經過異步加載數據的方法,命名以 load 開頭,例:loadData()。
布爾型的判斷方法,命名以 is 或 has,例:isEmpty()
組件類型_{範圍_}功能,範圍可選,如下爲幾種經常使用的組件類型命名:
activity_{範圍_}功能,爲 Activity 的命名格式。
fragment_{範圍_}功能,爲 Fragment 的命名格式。
dialog_{範圍_}功能,爲 Dialog 的命名格式。
item_list_{範圍_}功能,爲 ListView 的 item 命名格式。
item_grid_{範圍_}功能,爲 GridView 的 item 命名格式。
header_list_{範圍_}功能,爲 ListView 的 HeaderView 命名格式。
footer_list_{範圍_}功能,爲 ListView 的 FooterView 命名格式
花括號不要單獨一行,和它前面的代碼同一行。並且,花括號與前面的代碼之間用一個空格隔開。
public void method() { }
if、else、for、switch、while等邏輯關鍵字與後面的語句留一個空格隔開。
if(boolVar) { } else { }
運算符兩邊各用一個空格隔開。
int c = a + b;
方法的每一個參數之間用一個空格隔開。
public void method(String param1, String param2); method(param1, param2)
縮進統一使用4個空格,由於不一樣編輯器對tab顯示不一樣。
空行之空一行,不要多空行。在一下狀況須要用一個空行:
一、兩個方法之間
二、方法內的兩個邏輯段之間
三、方法內的局部變量和方法的第一條邏輯語句之間。
四、常量與變量之間
一、應用中的字符串同一在strings.xml中定義,而後在代碼和佈局文件中引用。
二、一行聲明一個變量,不要一行聲明多個變量,這樣有利於註釋。
private String param1; private String param2;
三、當一個表達式沒法容納在一行內時,可換行顯示,另起的新行用八個空格縮進。
someMethod(longExpression1, longExpression2 longExpression3,longExpression4)
文件頂部統一添加版權聲明,聲明格式以下:
/** * 2017/10/16 * Copyright (c) Jun yu Inc. All rights reserved */
類和接口統一添加註釋,格式以下:
/** *類或接口的描述信息 */
/** *登陸 * *@param loginName 登陸名 *@param password 密碼 */
下面幾種狀況的變量和常量,都要添加註釋,有限採用右側//來註釋,若註釋太長則在上方添加註釋。
一、接口中定義的全部常量
二、公有類的公有常量
三、枚舉類定義的全部枚舉常量
四、實體類的全部屬性變量
public static final int TYPE_CASH = 1; //現金券 public static final int TYPE_DEBIT = 2; //折扣券 private int id; //券id private String name //券名稱
制定代碼規範「看似表面文章,實則很是重要」,合理的代碼規範有助於團隊開發過程有更高的效率,所以咱們遵循簡明,易讀,無二義性的原則制定了咱們團隊的代碼規範,主要體如今:
解釋:
ActivityTime:活動時間
在Android開發中,Activity並非一個標準的MVC模式中的Controller,它 的首要職責是加載應用的佈局和初始化用戶界面,並接受並處理來自用戶的操做請求,進而做出響應。隨着界面及其邏輯的複雜度不斷提高,Activity類的 職責不斷增長,以至變得龐大臃腫。當咱們將其中複雜的邏輯處理移至另外的一個類(Presneter)中時,Activity其實就是MVP模式中 View,它負責UI元素的初始化,創建UI元素與Presenter的關聯(Listener之類),同時本身也會處理一些簡單的邏輯(複雜的邏輯交由 Presenter處理)。
模型(Model):數據層爲UI層提供的數據,或者保存UI層傳下來的數據負責對數據的存取操做,好比存儲、檢索、操縱數據。
選用該框架的緣由有以下幾點:
102:好記總體框架繪製
葉文滔:
李嘉羣: 張嶽: 俞鋆: 劉曉: 黃梅玲: 王國超: 林煒鴻: