/*
* 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@关于编码风格和命名规范相关推荐

  1. 转载:Java编程风格与命名规范整理

    转载自:传送门 不想复制,点进去看喽23333333 转载于:https://www.cnblogs.com/Dumblidor/p/5394390.html

  2. Python——编码风格建议

    官方的Reference风格建议: http://www.python.org/dev/peps/pep-0008/#naming-conventions python 以其结构严格著称,同时也以其命 ...

  3. Android 命名规范 (提高代码可以读性) 转

    转自:http://blog.csdn.net/vipzjyno1/article/details/23542617 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件 ...

  4. Android学习——android命名规范

    参考博客:http://blog.csdn.net/vipzjyno1/article/details/23542617 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控 ...

  5. Java命名规范和代码风格

    Java命名规范和代码风格 基本命名规范 包命名 包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反. 由一组以"."连接的标识符构成,通常第一个标识符 ...

  6. Android代码命名规范

    目录 目录 1.为什么 规范 Android 代码命名? 2.Android需要命名的代码(对象)有哪些? 3.具体命名规范 3.1.包 3.2.类 3.3.变量 3.4.方法 3.5.参数名 3.6 ...

  7. 【朝花夕拾】Android编码风格篇

    结合51CTO学院中张凌华老师讲的编码风格课程,对自己平时工作中的形成的一些编码风格做一些总结. 一. 项目开发目录命名: Requirement - 需求相关文档 Design - 设计 Plann ...

  8. 【朝花夕拾】Android编码风格拾遗

    结合51CTO学院中张凌华老师讲的编码风格课程,对自己平时工作中的形成的一些编码风格做一些总结. 一. 项目开发目录命名: Requirement - 需求相关文档 Design - 设计 Plann ...

  9. 第四章 android 命名规范和编码规范

    书里面讲的比较常见,单个人也是有不同的观点: 因为android绝大部分使用java开发的,因此java相关规范适用于android: Google Style: 英文地址:http://google ...

最新文章

  1. android2.2编译,Android NDK编译Box2D_V2.2
  2. 在项目中迁移MS SQLServer到Mysql数据库,实现MySQL数据库的快速整合
  3. Oracle树形结构查询之prior的理解
  4. C/C++之#ifdef、#if、#if defined的区别
  5. 利刃 MVVMLight 3:双向数据绑定
  6. c语言 函数的参数传递示例_C语言中带有示例的remove()函数
  7. Spring Boot EasyUI edatagrid 扩展
  8. 618 技术特辑(二)几百万人同时下单的秒杀,为什么越来越容易抢到了?
  9. 解决Spring Boot集成Shiro,配置类使用Autowired无法注入Bean问题
  10. 基于UPS效率进行准确的效用成本分析
  11. mysql57数据库命令_centos7.2下安装mysql5.7数据库的命令详解
  12. qt tcp不可以循环发送_Qt tcp 多线程下QTCPsocket不能发送数据~解决办法(2)
  13. JavaScript高级编程之树节点搜索过滤的设计和实现
  14. c语言在线考试系统的需求分析,在线考试系统需求分析.doc
  15. AT89C2051烧写器的制做与调试
  16. POWER SWOT分析
  17. html导航栏自动调间距,HTML CSS导航栏间距
  18. 彐一夕儿本铺_2019-10-16汉字宫目录
  19. 强烈推荐一款好用的API接口
  20. 【CTO讲堂】企业该如何打造自身的“安全免疫系统”?

热门文章

  1. 春运首日山东烟台海上安全巡航
  2. django学习(1)-----项目组成
  3. Confluence 6 为发送邮件配置服务器
  4. JavaScript函数式编程之深入理解纯函数
  5. SQL建表公共字段脚本
  6. Python 3.5.2建立与DB2的连接
  7. 在html使用a标签 直接下载图片 不通过后台实现直接下载
  8. C0302 将一个代码块中的内容保存在文件中, 查看一个rpm包是否可以安装
  9. VIVOtech:使用近场通信(NFC)技术的免接触付款解决方案的市场领导者
  10. 学Ruby开发的几个好网站