您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
学习编程难吗?有哪些好的建议和需要注意的问题?
代码,简写,功能学习编程难吗?有哪些好的建议和需要注意的问题?
发布时间:2020-12-06加入收藏来源:互联网点击:
3.逻辑规范
如:相同方法要抽取到工具类中以供全局调用、一个方法不要写几千行,方法过于复杂就要再单独抽离方法等。
4.注释规范
注释这部分内容文章第二章节会单独说明。
5.其他规范
如:一行声明一个变量、所有的变量必须在声明时初始化、for循环不要调用线程、项目中禁止使用过多的静态变量等等
示例:我自己写项目遵循的开发规范(去华为云开发者社区、csdn等优秀社区都可以搜索相关的开发规范)
1)工程包命名
工程包名
com. 公司名称简写.应用名称简写(拼音或者英文).activity 放工程的主Activity 以及BaseActivitycom. 公司名称简写.应用名称简写(拼音或者英文).activity.list 在activity下面建一个文件夹list放所有的ListActivitycom. 公司名称简写.应用名称简写(拼音或者英文).adapter 放和主activity对应的adapter 以及通用adaptercom. 公司名称简写.应用名称简写(拼音或者英文).adapter.item 放和listAcitivity对应的Adaptercom. 公司名称简写.应用名称简写(拼音或者英文).bean 放javabean类com. 公司名称简写.应用名称简写(拼音或者英文).util 放各种工具类 (图片,字符,时间,dalog 等)com. 公司名称简写.应用名称简写(拼音或者英文).net 放和服务器交互的类com. 公司名称简写.应用名称简写(拼音或者英文).view 放 自定义view的类com. 公司名称简写.应用名称简写(拼音或者英文).db 放 本地数据库操作相关的类当然 上面的公司名称可以换成别的 ,尽量用简写或者英文 比如qq: 就可以写成 com.tencent.qq.activity,大家明白这个意思就好。
2)类文件命名
1. activity
activity 我习惯分为两种考虑, 一种是列表数据的, 第二种是普通的activity 。这么分有个好处就是找这个类的时候方便。当你看到这个界面时列表数据的时候 直接搜索listActivity就能过滤掉一大部分,然后再筛选会简单很多。这个大家从上面我定义的包名中就看出来了。
所以 activity的命名是 : 功能简写+Activity
功能简写+ListActivity登录:LoginActivity用户列表:UserListActivity2. layout xml
全部小写,用_隔开 xml命名 分为几种
主Activity用到的xml : activity_activity名称简写.xml activity_login.xml
include的xml:include_功能简写.xml include_top_search.xml
adapter中用到的xml:item_adapter名称简写.xml item_user_list.xml
dialog用到的xml:dialog_功能简写.xml dialog_show_tips.xml
自定义view用的xml :view_view名称简写.xmlview_header.xml 这个就是共用的view 也可以用common_view名称简写.xml替换
xml中 控件id命名:
模块名称_view的逻辑名称_view缩写
用户名EditText : login_username_et
登录确认Button: login_confirm_btn
LayoutView lv
RelativeView rv
EditText et
TextView tv
Button btn
ImageButton imgBtn
ImageView iv
CheckBox cbx
RadioButton rbtn
其他的类似,不一一列举了。这些都不是规定死的 ,大家自己定义,前提能区分开不同的控件并且能让别人看懂。
3.工具类等
工具类功能简写+Util : DialogUtil.java 、 TextUtil.java
3). 图片等资源文件命名
背景图片: bg_功能_说明 bg_login_commit
图标图片: icon_功能_说明 icon_tab_set
功能也可以换为 acvitiy名称简写
共用的图片 前面都加 common
4).程序中变量 常量命名
在说这个之前要给大家补充一下 标识符命名。就是变量和常量名字
我一般就用两种:
1 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。
protected TextView mWatchCountInfoTv;
protected TextView mNicknameTv;
protected TextView mLocationTv;
protected TextView mVideoTopicTv;
protected TextView mVideoTitleTv;
2.下划线命名法:单词与单词间用下划线做间隔。
private static final int MSG_SHOW_GIFT = 20;
private static final int MSG_SHOW_EXPRESSION = 21;
private static final int MSG_SHOW_RED_PACK = 22;
private static final int MSG_SHOW_JOIN_USER = 23;
静态常量
名称都是 功能说明_类别 统一下划线命名法
private static final int MSG_SHOW_GIFT = 20;
private static final int MSG_SHOW_EXPRESSION = 21;
private static final int MSG_SHOW_RED_PACK = 22;
private static final int MSG_SHOW_JOIN_USER = 23;
变量
这个分为两种全局变量、局部变量,全局变量 以m开头,局部变量不用。
全局变量:
protected VideoEntity mCurrentVideo;
protected int mShareType;
protected MyHandler mHandler;
protected int mLikeCount;
protected int mCommentCount;
局部变量:
TextView tview = new TextView();
Button button = new Button();
上面已经介绍过 xml中id命名的方法了
所以变量和那个规则基本一致: 功能逻辑名称简写+view 简写
private ImageView mPhoneVerifyIv;
private Button mConfirmBtn;
private EditText mPhoneNumberEt;
private TextView mSelectCountryNameTv;
private TextView mSelectCountryCodeTv;
之前写的一篇文章【软件开发规范六】《Android开发编码规范》
二.写好代码注释
代码注释我认为是很有必要的,这里说的代码注释是那些必要的,一些简单的功能没有必要加太多的注释说明。
举个简单的例子:某项目中有一个项目重点工程列表功能,后来又新增了在施项目列表功能,再后来又新增了停工项目重点列表功能,这个时候一般的开发人员都会考虑复用,就是用一个类,不用写三个类,因为列表内字段都很类似,这个时候开发人员直接用的一个类,然后我贴一下代码大家感受下有注释和无注释两者区别:
无注释:
有注释:
很明显加上注释以后,大家一眼就能看出这个类的作用,三个功能列表都是这个类的代码,后期维护起来会非常方便,如果不加注释,可能只有开发这个功能的开发人员清楚,其他人或者后期进入公司维护这个项目的开发人员只能通过读代码分析出三个功能是复用的一个类,很明显效率就会降低很多,所以在开发过程中一定要养成一个写注释的习惯,代码注释相当于产品说明书,太重要了。
写代码注释要注意的几个问题:
尽量减少不必要的代码注释,说的直白点就是大家都知道的东西就没必要加注释,加了就是画蛇添足
类似这种的就属于画蛇添足,我看代码能很直观的知道这是点击登录后调用的逻辑,不需要解释,写了感觉一点意义没有。
注释一定写清楚作用,对于特殊处理的逻辑,要注释这样处理的原因
代码的注释不是越详细越好,概况的说清楚这段代码的作用即可。
三.review重构代码
review代码刚入行的时候就听别人说过,但是在前两家公司的时候,基本都是各做各的,每个人分工不同,也就是说自己写的代码自己维护,也不涉及到其他人,真正让我知道review代码的是在第三家公司的领导。
当时我在第三家公司工作的一年多时间,从入职第一天写的代码到我离职的前一天,我写的所有的代码,我的领导都会帮我review一遍,每次review完我写的代码,他都会把我叫过去和我说哪里写的不行、哪里需要改、怎么改、参照哪处的代码。也是在那家公司项目组领导的指导下,我开发水平有了很大的提升,到现在回想起来,内心非常感谢他。
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |