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 ContextThemeWrapper
implements 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;
}
Android journey 1@关于编码风格和命名规范的更多相关文章
- Java编程风格与命名规范整理
基本命名规范 包命名 包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反. 由一组以“.”连接的标识符构成,通常第一个标识符为符合网络域名的两个或者三个英文小写字母. Pe ...
- 编码风格和PEP8规范
编码风格 错误认知 这很浪费时间 我是个艺术家 所有人都能穿的鞋不会合任何人的脚 我善长制定编码规范 正确认知 促进团队合作 减少bug处理 提高可读性,降低维护成本 有助于代码审查 养成习惯,有助于 ...
- 转载:Java编程风格与命名规范整理
转载自:传送门 不想复制,点进去看喽23333333
- Android 命名规范 (提高代码可以读性) 转
转自:http://blog.csdn.net/vipzjyno1/article/details/23542617 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件 ...
- [转] Android 命名规范 (提高代码可以读性)
Android命名规范编码习惯 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件什么是什么用的,就要读一遍甚至好几遍才知道,这样的话,在代码的 审查和修改过程中就会浪费 ...
- Android编码风格
整理一下51CTO学院中张凌华老师讲的编码风格课程 一. 项目开发目录命名: Requirement - 需求相关文档 Design - 设计 Planning&Log - 计划,日志,会议 ...
- 第四章 android 命名规范和编码规范
书里面讲的比较常见,单个人也是有不同的观点: 因为android绝大部分使用java开发的,因此java相关规范适用于android: Google Style: 英文地址:http://google ...
- 【朝花夕拾】Android编码风格篇
结合51CTO学院中张凌华老师讲的编码风格课程,对自己平时工作中的形成的一些编码风格做一些总结. 一. 项目开发目录命名: Requirement - 需求相关文档 Design - 设计 Plann ...
- Android 编码风格规范,很赞哦
1. 前言 这份文档参考了 Google Java 编程风格规范和 Google 官方 Android 编码风格规范.该文档仅供参考,只要形成一个统一的风格,见量知其意就可. 1.1 术语说明 在本文 ...
随机推荐
- VC++ DLL 发布到生产环境过程
最近项目中用到了VC++ DLL,在本机调试时无任何问题,但是发布出来后,COPY到另外的机器就报错,说找不到DLL,由于自身工作接触这方面比较少,经过一番折腾后,终于解决,以下为解决步骤 一,平台工 ...
- c#中文件上传(1)
* * ;//3M picPath = Server.MapPath("........."); HttpFileCollection postfile = Context.Req ...
- Ionic之顺带APP
1:Ionic简介 官方:我们设计ionic来帮助 web 开发人员能够像开发网站一样开发出强大的移动APP应用. ionic是一个html5开发APP的框架,在开发运行效率可以说是最好的H5框架,把 ...
- Cocos2d-js中Chipmunk引擎
我们先介绍轻量级的物理引擎——Chipmunk.Chipmunk物理引擎,由Howling Moon Software的Scott Lebcke开发,用纯C编写.Chipmunk的下载地址是http: ...
- 【学习笔记】【C语言】算术运算
C语言一共有34种运算符,包括了常见的加减乘除运算 1. 加法运算+ 除开能做加法运算,还能表示正号:+5.+90 2. 减法运算- 除开能做减法运算,还能表示符号:-10.-29 3. 乘法运算* ...
- AMQ学习笔记 - 06. 可靠消息传送
概述 本文介绍JMS中可能发生消息故障的3个隐患阶段,以及确保消息安全的3种保障机制. 故障分析 在介绍可靠传送的确保机制之前,先分析消息在传送的过程中可能在哪个阶段出现问题. 1.两个跃点 跃点的含 ...
- 推荐5个应用 jQuery 特效的精美特效
1.jQuery歌词同步的音乐播放器插件 精巧实用 之前我们分享过很多音乐播放器和视频播放器,很多播放器的UI界面都非常酷,特别是利用HTML5和CSS3实现的一些动画特效.今天要分享的一款基于jQu ...
- THREE.js代码备份——canvas_lines(随机点、画线)
<!DOCTYPE html> <html lang="en"> <head> <title>three.js canvas - l ...
- UIScrollView,UIPageControl
#import <UIKit/UIKit.h> @interface ViewController : UIViewController<UIScrollViewDelegate&g ...
- 字符串反转(charat)
package com.java1234.chap03.sec08; public class zifufanzhuan { public static void main(String[] args ...