1 非公有成员变量以m开头
2 静态变量以s开头
3 常量必须所有字母大写, 单词之间以下划线隔开
4 重要的变量必须加注释
5 四大组件的命名必须以统一的名词结束
Activity必须以"Activity"结束, 如LoginActivity;
Service必须以"Service"结束, 如WebSocketService;
ContentProvider必须以"Provider"结束, 如UserInfoProvider
BroadcastReceiver必须以"Receiver"结束, 如AddShortcutReceiver
6 四大组件最好放在独立的包中
如 Activity放在包com.singuloid.email.activity中
如 Service放在包com.singuloid.email.service中
如 BroadcastReceiver放在包com.singuloid.email.recevier中
如 ContentProvider放在包com.singuloid.email.provider中
7 在AndroidManifest.xml文件中的组件信息, 必须以Activity, Service, ContentProvider, BroadcastReceiver的顺序排放, 重要的组件尽量写注释
8 源文件中的每个类都要有注释, 说明这个类的作用, 以及为什么要有这个类.
9 在程序逻辑的关键分支处添加注释
10 写注释的时候, 不仅要说明实现的逻辑, 最重要的是说明为什么这么做
以下编码方式不错:
switch (item.getItemId()) { case R.id.menu_call: handleDial(getRecipients().getPrimaryRecipient()); return true; case R.id.menu_delete_thread: handleDeleteThread(); return true; case R.id.menu_add_contact_info: handleAddContactInfo(); return true; case R.id.menu_add_attachment: handleAddAttachment(); return true; case R.id.menu_start_secure_session: handleStartSecureSession(); return true; case R.id.menu_abort_session: handleAbortSecureSession(); return true; case R.id.menu_verify_identity: handleVerifyIdentity(); return true; case R.id.menu_group_recipients: handleDisplayGroupRecipients(); return true; case R.id.menu_distribution_broadcast: handleDistributionBroadcastEnabled(item); return true; case R.id.menu_distribution_conversation: handleDistributionConversationEnabled(item); return true; case R.id.menu_edit_group: handleEditPushGroup(); return true; case R.id.menu_leave: handleLeavePushGroup(); return true; case android.R.id.home: handleReturnToConversationList(); return true;
if (verificationStartTime == 0) millisPassed = 0; else millisPassed = System.currentTimeMillis() - verificationStartTime;
使用代理对象
private final DynamicTheme dynamicTheme = new DynamicTheme (); private final DynamicLanguage dynamicLanguage = new DynamicLanguage(); private PushContactSelectionListFragment contactsFragment; @Override protected void onCreate(Bundle icicle) { dynamicTheme.onCreate(this); dynamicLanguage.onCreate(this);
@Override public void onResume() { super.onResume(); dynamicTheme.onResume(this); dynamicLanguage.onResume(this); getSupportActionBar().setTitle(R.string.AndroidManifest__select_contacts); }