命名规范
创建项目时的项目名称:
- 最好是英文,在项目做完签名打包apk的时候,省去一些麻烦。(中文也不影响,但最后要改过来,不然不好打包)
包名的组织:
为防止应用程序在手机中安装失败,必须要保证写的项目的包名是唯一的。一般以公司的域名的倒写作为包名的第一部分;第二部分为应用名;第三部分为具体包的模块名。【域名倒写+应用名称+包的具体模块】
举个实际例子:我之前为苏州科技学院做了一个打卡助手的应用。学校域名为www.usts.edu.cn。那包名就可以这样写:cn.edu.usts.cardhelper,当然这只能作为应用全局的包名,为使逻辑清晰,需继续划分各个不同的包,这里有两种划分形式:一种是按功能模块来划分,一种是按android的一些组件来分。后面一种用的多一些。
简单说一下后面一种常用的包名的组织 有 activities,fragments,service,receiver,adapter,domain,utils,db,dao,test等
附一张打卡助手的项目包名组织截图:
布局文件命名:
如果布局文件是为activity写的,那么就这样命名:activity_main, activity_splash, activity_login
如果布局文件是为fragment写的,那么就这样命名:fragment_one, fragment_two, fragment_three
如果布局文件是为listview的一个条目写的,那么就这样命名:item_video_list, item_music_list
如果布局文件是单独的一个布局,是写给其它布局用的,比如常见的标题栏的布局,就可以这样命名:layout_title
附一张手机影音的项目布局文件截图:
布局文件控件的命名:
可以遵循这样一种原则:控件简写 + 功能
如:tv_title 表示显示标题的TextView iv_play 表示播放功能的ImageView
如果多个布局文件有相同功能的控件,依然可以用上面的原则,但为了便于自己区分,可以这样:简写 + 所处的布局文件 + 功能
如:tv_splash_title, tv_main_title 分别表示显示splash页面标题的TextView和显示main页面的标题
资源图片的命名:
附几张图片资源的命名图:
资源文件的命名(drawable文件夹下的.xml文件)
附张截图:
常量的命名
<code class="hljs java has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">public</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">static</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">final</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> STUDENT_NUMBER = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">50</span>;</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>
- 如果常量较多,可以写一个Constants类,专门用来存放一些常量。
附张截图:
变量的命名
<code class="hljs java has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">boolean</span> isLogin = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">true</span>; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> TextView tvTitle; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> ImageView ivPlay;</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li></ul>
方法的命名
<code class="hljs erlang has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-function" style="box-sizing: border-box;"><span class="hljs-title" style="box-sizing: border-box;">getDataFromSvr</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span><span class="hljs-title" style="box-sizing: border-box;">parseData</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span><span class="hljs-title" style="box-sizing: border-box;">updatePlayProgress</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li></ul>
注释规范
数据库规范
其它规范
xml布局文件中,不要出现中文,全部抽取到strings.xml文件中,方便应用国际化。
颜色值也可以不写死,抽取到colors.xml中,方便后期调整。
对于多个相同控件有相同属性的情况,可以将这些相同的属性抽取到styles.xml文件中,使代码既简洁有便于修改。
一些控件的大小可以抽取到dimens.xml文件中,方便后期屏幕适配。
0 0