从入职到现在,越发发觉团队成员遵循统一的代码规范的重要性。简洁规范的代码不仅让人赏心悦目,而且能够体现自己的专业性和技术水平,减少后期维护代码的工作量,有助于提高工作效率。以下是我在工作中的一些总结:
1. 类的命名
和Java一样,类的命名一般遵循大驼峰命名法UpperCameCase,同时也要根据Android具体情况进行命名。如下所示:
l Activity类需要以Activity作为后缀,前面一般加上模块或者功能的名字,例如:TheMoreActivity、ShareActivity
l Fragment类需要以Fragment作为后缀前面一般加上模块或者功能的名字,例如:SettingFragment、DetailFragment
l Service类需要以Service作为后缀前面一般加上模块或者功能的名字,例如:DownloadService
l BroadcastReceiver类需要以Receiver作为后缀前面一般加上模块或者功能的名字,例如:Push Receiver。
l ContentProvider类需要以Provider作为后缀前面一般加上模块或者功能的名字,例如:ContactProvider
l 工具类的需要以Util作为后缀,例如:NetworkUtil
l 公共基类需要以Base开头,例如:BaseActivity
l 单元测试需要以Test作为后缀,例如HashTest
2. 布局文件的命名
布局文件一般使用“前缀_逻辑名”的命名规则,所有字母全部小写。如下所示:
l Activity的布局文件命名为activity_XXX,例如:activity_share.xml
l Fragment的布局文件命名为fragment_XXX,例如:fragment_detail.xml
l 自定义控件的布局文件命名为view_XXX,例如:view_setting.xml
l 对话框的布局文件命名为dialog_XXX,例如:dialog_resume.xml
l 列表项的布局文件命名为item_XXX,例如:item_common_list.xml
l PopupWindow的布局文件命名为window_XXX,例如:window_menu.xml
3. 资源文件的命名
资源文件的命名规则一般为“前缀_模块名_逻辑名”的方式,单词全部小写。如下所示:
l 按钮的命名以btn为前缀,例如btn_login.png,当按钮有多种状态时,需要在后面加上按钮的状态,例如:btn_login_normal.png、btn_login_pressed.png
l 图标的命名以ic作为前缀,例如:ic_share.png
l 背景图片的命名以bg为前缀,例如:bg_dialog.png
l 分割线以divider作为前缀,例如:divider_blue.png
l 选择器以selector作为前缀,例如:selector_btn_login.xml
l 设定形状的以shape作为前缀,例如:shape_btn_common.xml
l 动画以anim为作为前缀,例如:anim_login.xml
4. 常见的一些注意事项
除了上面说的一些常见的命名规则,还有一些涉及代码排版的问题。如下所示:
l 任何时候都不要忘记写注释,类、方法、特殊语句都需要
l 注意修饰符的顺序,特别是有多个修饰符的时候,一般按照如下顺序:
public protected private abstract static final transient void synchronized native strictfp
l 花括号不能省略,特别是if、else、for等语句,哪怕只有一句话