Android journey 1@关于编码风格和命名规范
/*
* 1.关于编程风格:每一位程序猿可能都有自己独特的编程风格,但是有些规则是大家都必须遵守的,特别
* 是在工作的过程中,良好的代码风格能大大提高代码本身的可阅读性和维护性,也更有利于别人修改你
* 的代码。风格问题涉及到的都是细节相关的问题,读者朋友们或许都听过“细节决定成败”这句话,这句话
* 在这里同样生效,不过是换了种意思,就是“细节体现你的专业程度”,所以作为一名程序猿,我们应该从
* 编写代码的训练中养成良好的编码习惯,如命名规范,排版规范,写好注释等。下面具体说明下:
*/
/*
* 1)整个Project相关内容的目录规范:(通常可以包含以下几个文件夹)
* #.Requirement Doc: project的需求文档说明
* #.Design:有关设计方面的说明
* #.Planning&Log:计划、日志、会议等
* #.Test:测试及其报告
* #.Study:学习资料及demo
* #.Deployment:发布,部署
* #.src: 源代码
* #.help:帮助文档
* #. ...(根据自己需求添加合适文档)
* 注意事项:在IDE建立project的时候,包即目录(java),包名全小写,且一般不超过3层,命名为:【公司】.【项目】.【模块】
*/
/*
* 2)命名规范:
* #、Pascal命名法:每个单词首字母大写,其余小写,如“ActivityDemo”,主要应用于:文件名,普通类名,构造函数等
* #、Camel命名法:第一个单词全小写,其余单词按pascal命名,如“myName”,主要应用于:方法名(动宾短语),普通函数名等
* #、匈牙利命名法(使用前缀,后缀命名):如对于整型变量,可以“int intMyAge;”
* #、下划线命名法:主要在常量(全大写)中使用,分隔两个不同单词
* 其他常见命名:私有成员变量:“mMyName”;静态变量:“sMyName”;方法参数:“pMyName”;
* 当然命名规则的使用主要看已有项目的要求,若新启动一个项目,编码前团队必须先统一命名规范
*/
/*
* 3)其他需要注意的地方:
* 1、一个方法不超过35行代码
* 2、不要去修改机器自动生成的代码
* 3、final String取代String,即不要直接写字符串
* 4、循环语句中不用return
* 5、属性用set(),get()方法操控
* 6、不要再系统生成函数中写复杂代码,复杂代码通常用函数调用解决
* 7、虽然class能搞定一切,但使用接口暴露信息会更好
* 8、switch语句中无论如何都要有default
* 9、同类的import包放在一起
* ...*
*/
//下面看一下Android源码中的代码:/** Copyright (C) 2006 The Android Open Source Project** Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You may obtain a copy of the License at** http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*/package android.app;import com.android.internal.app.ActionBarImpl;
import com.android.internal.policy.PolicyManager;import android.os.Build;
import android.os.Bundle;
import android.os.UserHandle;
import android.text.Selection;
import android.text.SpannableStringBuilder;
import android.text.TextUtils;
import android.text.method.TextKeyListener;
import android.util.AttributeSet;
import android.util.EventLog;/**可在注释中嵌入HTML标签,在生成javadoc的时候控制各种属性等* An activity is a single, focused thing that the user can do. Almost all* activities interact with the user, so the Activity class takes care of* creating a window for you in which you can place your UI with* {@link #setContentView}. While activities are often presented to the user* as full-screen windows, they can also be used in other ways: as floating* windows (via a theme with {@link android.R.attr#windowIsFloating} set)* or embedded inside of another activity (using {@link ActivityGroup}).** There are two methods almost all subclasses of Activity will implement:* * <ul>* <li> {@link #onCreate} is where you initialize your activity. Most* importantly, here you will usually call {@link #setContentView(int)}* with a layout resource defining your UI, and using {@link #findViewById}* to retrieve the widgets in that UI that you need to interact with* programmatically.* * <li> {@link #onPause} is where you deal with the user leaving your* activity. Most importantly, any changes made by the user should at this* point be committed (usually to the* {@link android.content.ContentProvider} holding the data).* </ul>...*/
public class Activity extends ContextThemeWrapperimplements LayoutInflater.Factory2,Window.Callback, KeyEvent.Callback,OnCreateContextMenuListener, ComponentCallbacks2 {private static final String TAG = "Activity";private static final boolean DEBUG_LIFECYCLE = false;/** Standard activity result: operation canceled. *///常量命名public static final int RESULT_CANCELED = 0;/** Standard activity result: operation succeeded. */public static final int RESULT_OK = -1;/** Start of user-defined activity results. */public static final int RESULT_FIRST_USER = 1;static final String FRAGMENTS_TAG = "android:fragments";private static final String WINDOW_HIERARCHY_TAG = "android:viewHierarchyState";private static final String SAVED_DIALOG_IDS_KEY = "android:savedDialogIds";private static final String SAVED_DIALOGS_TAG = "android:savedDialogs";private static final String SAVED_DIALOG_KEY_PREFIX = "android:dialog_";private static final String SAVED_DIALOG_ARGS_KEY_PREFIX = "android:dialog_args_";private static class ManagedDialog {Dialog mDialog;Bundle mArgs;}private SparseArray<ManagedDialog> mManagedDialogs;// set by the thread after the constructor and before onCreate(Bundle savedInstanceState) is called.//私有变量命名private Instrumentation mInstrumentation;private IBinder mToken;private int mIdent;static final class NonConfigurationInstances {Object activity;HashMap<String, Object> children;ArrayList<Fragment> fragments;HashMap<String, LoaderManagerImpl> loaders;}/* package */ NonConfigurationInstances mLastNonConfigurationInstances;private Window mWindow;/** * Change the intent returned by {@link #getIntent}. This holds a * reference to the given intent; it does not copy it. Often used in * conjunction with {@link #onNewIntent}. * * @param newIntent The new Intent object to return from getIntent * * @see #getIntent* @see #onNewIntent*自定义javadoc标签*@author ..*@date ..*@modify ..(who,when..)*/ public void setIntent(Intent newIntent) {mIntent = newIntent;}
转载于:https://www.cnblogs.com/allenpengyu/p/3495156.html
Android journey 1@关于编码风格和命名规范相关推荐
- 转载:Java编程风格与命名规范整理
转载自:传送门 不想复制,点进去看喽23333333 转载于:https://www.cnblogs.com/Dumblidor/p/5394390.html
- Python——编码风格建议
官方的Reference风格建议: http://www.python.org/dev/peps/pep-0008/#naming-conventions python 以其结构严格著称,同时也以其命 ...
- Android 命名规范 (提高代码可以读性) 转
转自:http://blog.csdn.net/vipzjyno1/article/details/23542617 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件 ...
- Android学习——android命名规范
参考博客:http://blog.csdn.net/vipzjyno1/article/details/23542617 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控 ...
- Java命名规范和代码风格
Java命名规范和代码风格 基本命名规范 包命名 包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反. 由一组以"."连接的标识符构成,通常第一个标识符 ...
- Android代码命名规范
目录 目录 1.为什么 规范 Android 代码命名? 2.Android需要命名的代码(对象)有哪些? 3.具体命名规范 3.1.包 3.2.类 3.3.变量 3.4.方法 3.5.参数名 3.6 ...
- 【朝花夕拾】Android编码风格篇
结合51CTO学院中张凌华老师讲的编码风格课程,对自己平时工作中的形成的一些编码风格做一些总结. 一. 项目开发目录命名: Requirement - 需求相关文档 Design - 设计 Plann ...
- 【朝花夕拾】Android编码风格拾遗
结合51CTO学院中张凌华老师讲的编码风格课程,对自己平时工作中的形成的一些编码风格做一些总结. 一. 项目开发目录命名: Requirement - 需求相关文档 Design - 设计 Plann ...
- 第四章 android 命名规范和编码规范
书里面讲的比较常见,单个人也是有不同的观点: 因为android绝大部分使用java开发的,因此java相关规范适用于android: Google Style: 英文地址:http://google ...
最新文章
- android2.2编译,Android NDK编译Box2D_V2.2
- 在项目中迁移MS SQLServer到Mysql数据库,实现MySQL数据库的快速整合
- Oracle树形结构查询之prior的理解
- C/C++之#ifdef、#if、#if defined的区别
- 利刃 MVVMLight 3:双向数据绑定
- c语言 函数的参数传递示例_C语言中带有示例的remove()函数
- Spring Boot EasyUI edatagrid 扩展
- 618 技术特辑(二)几百万人同时下单的秒杀,为什么越来越容易抢到了?
- 解决Spring Boot集成Shiro,配置类使用Autowired无法注入Bean问题
- 基于UPS效率进行准确的效用成本分析
- mysql57数据库命令_centos7.2下安装mysql5.7数据库的命令详解
- qt tcp不可以循环发送_Qt tcp 多线程下QTCPsocket不能发送数据~解决办法(2)
- JavaScript高级编程之树节点搜索过滤的设计和实现
- c语言在线考试系统的需求分析,在线考试系统需求分析.doc
- AT89C2051烧写器的制做与调试
- POWER SWOT分析
- html导航栏自动调间距,HTML CSS导航栏间距
- 彐一夕儿本铺_2019-10-16汉字宫目录
- 强烈推荐一款好用的API接口
- 【CTO讲堂】企业该如何打造自身的“安全免疫系统”?