編輯:關於Android編程
下面就介紹一下,我個人編碼過程中使用到的規范,供大家參考~~
命名規范要望文知義,簡單明了。
命名規范定制太多,就會讓人心煩,反而沒人遵守了。
---《APP研發錄》
先介紹兩種命名規則:
駝峰命名法:又稱小駝峰命名法。除了首個單詞首字母小寫除外,其余所有單詞所有首字母都要大寫。
帕斯卡命名法:又稱大駝峰命名法。所有單詞首字母大寫。
包名一律小寫
建議采用如下規則:【com】.【公司名/組織名】.【項目名稱】.【模塊名】
比如:com.jacksen.mvp.demo。然後在這個目錄下根據業務邏輯進行分層。
常見的包分層結構如下:
com.xxx.xxx.view –> 自定義view 或者是View接口
com.xxx.xxx.activities –> activity類
com.xxx.xxx.fragments –> fragment類
com.xxx.xxx.adapter –> 適配器相關
com.xxx.xxx.utils –> 公共工具類
com.xxx.xxx.bean –> 實體類
com.xxx.xxx.service –> service服務
com.xxx.xxx.broadcast –> 廣播接收器
com.xxx.xxx.db –> 數據庫操作類
com.xxx.xxx.persenter –> 中間對象
com.xxx.xxx.model –> 數據處理類
Android中類的命名與JAVA開發采用一致的規范即可。
大駝峰命名法,即所有單詞首字母大寫。
Activity –> xxxActivity.java
Application –> xxxApplication.java
Fragment –> xxxFragment.java
Service –> xxxService.java
BroadcastReceiver –> xxxBroReceiver.java
ContentProvider –> xxxProvider.java
Adapter –> xxxAdapter.java
Handler –> xxxHandler.java
接口 –> xxxInter.java
接口實現類 –> xxxImpl.java
Persenter –> xxxPersenter.java
公共父類 –> BaseActivity.java、BaseFragment.java、- BaseAdapter.java等
util類 –> LogUtil.java
數據庫類 –> BaseSQLiteDBHelper.java
采用駝峰命名規則。
Java普通變量:
resultString
userBean
loginPresenter
Android控件變量:
loginBtn
inputPwdEt
showNameTv
有些人建議采用【控件縮寫】+【控件邏輯名稱】的方式,比如btnLogin。不過我個人比較習慣反過來寫,比如loginBtn。與類的命名類似,把邏輯名稱寫在前面。
常用控件的縮寫
常見單詞的縮寫:
常量命名:
全部單詞采用大寫,每個單詞之間用“_”分割。
例如:
public static final String API_URL = "http://apis.baidu.com/heweather/weather/free";
與java開發類似,采用駝峰命名規則。首單詞首字母小寫,其余單詞首字母大寫。盡量不要使用下劃線。
舉例:
setxxx()
getxxx()
loginxxx()
onCreate()
onDestory()
isxxx() –> 返回值是boolean類型
checkxxx()
全部采用小寫,單詞之間使用下劃線分割。
布局文件:
activity_login.xml
fragment_first_tab.xml
item_choose_city.xml
dialog_choose_city.xml
common_footer.xml
popup_xxx.xml
控件ID:
上面【常用控件的縮寫】表格中基本列出了常用控件的ID寫法。
login_btn
input_phone_et
input_pwd_et
login_pbar
全部單詞小寫,單詞之間采用下劃線分割。
圖標 – > ic_xxx.png –> ic_logo.png
背景圖 –> bg_xxx.jpg –> bg_splash.jpg
selector –> selector_login_btn.xml
shape –> shape_login_btn.xml
圖片狀態 –> bg_login_btn_pressed.jpg & - bg_login_btn_unpressed.jpg
單詞全部小寫,單詞之間采用下劃線分割。
fade_in.xml
fade_out.xml
slide_in_from_left.xml
slide_in_from_top.xml
slide_out_to_right.xml
slide_out_to_bottom.xml
代碼中盡量不要出現中文。注釋和除外。代碼中通過strings.xml引用來顯示中文。
控件聲明放在activity級別,這樣在activity其他地方可以使用。
在一個View.OnClickListener中處理所有的點擊事件邏輯,這樣看起來很集中和直觀。
strings.xml中使用%1
布局文件中的字體大小,都定義在dimens.xml中。
有關margin和padding的值也都放在dimens.xml中。
界面之間傳值盡量使用intent方式。少用全局變量。
不建議在布局文件中添加點擊事件。
數據類型轉換一定要校驗。
使用常量代替枚舉。
實體不要在不同模塊間共享,但是可以在統一模塊下的不同頁面共享。
建議采用左括號與方法名稱在同一行的代碼格式來進行代碼的編寫和格式化。貌似左括號在下一行是C#的形式。
業務稍微復雜一些,都有可能提煉一個BaseActivity或BaseFragment出來做為公共父類。
類注釋一定要寫,管家的方法也要寫方法注釋。常量盡量寫注釋。
項目中的命名規范和編碼規范,是一個項目Leader前期需要准備的,也是一項必備技能。
制定好了規范,就要遵守,有了統一的規范,項目才好維護,相互之間才好review代碼,便於開發與維護。
將一網友的XMPP代碼從ADT轉到AS時,發現其使用了第三方類庫,源碼放在了lib下,直接在AS中Import project,第三方類庫並沒有自動導入進來,看來需要自己
吸引用戶的眼球,是我們至死不渝的追求;第一時間呈現最有價值的信息,簡明大方,告訴客戶,你的選擇是多麼的明智,這正是你尋覓已久的東西。分組的應用場合還是很多的,有數據集合的
0.基礎知識Glide中有一部分單詞,我不知道用什麼中文可以確切的表達出含義,用英文單詞可能在行文中更加合適,還有一些詞在Glide中有特別的含義,我理解的可能也不深入,
今天在網上看到一篇文章寫關於Android實現3D旋轉(http://www.ibm.com/developerworks/cn/opensource/os-cn-and