GithubHelp home page GithubHelp logo

blankj / androidstandarddevelop Goto Github PK

View Code? Open in Web Editor NEW
3.0K 82.0 588.0 229 KB

:star2: Best practices in Android develop(final).

Home Page: https://blankj.com/2017/03/08/android-standard-dev-final

License: Apache License 2.0

standard android-development standards android android-studio android-architecture androidstyle

androidstandarddevelop's Introduction

androidstandarddevelop's People

Contributors

blankj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

androidstandarddevelop's Issues

"尽量减少对变量的重复计算"这一小节的一个小错误

10 其他的一些规范

    14 .尽量减少对变量的重复计算;

    如下面的操作:
       for (int i = 0; i < list.size(); i++) {
            ...
      }

建议替换为:

for (int i = 0, int length = list.size(); i < length; i++) {
    ...
}

这里应该改为

for (int i = 0, length = list.size(); i < length; i++) {
    ...
}

不需要再为length指定类型了,也不能指定了

add line-separator guide

I think it is helpful to use uniform line-separator for project, and the separator is suggested to be lf(unix-style) instead of crlf(windows-style)

关于本项目标题的一点见解

首先十分感谢作者将自己的开发经验分享给我们,提供了许多 Java/Android 程序代码上的指导,详读后收获很多。

然而有一个无关紧要的点个人不太认同,本项目的中文标题叫《Android 开发规范》,而下文主要是介绍了代码风格和规范,而实际开发当中有许多关于组件功能使用的规范需要注意,如:

  • App 应该将缓存或是用户保存的文件存在内部/外部储存的哪些位置
  • 如何申请应用权限以及何时申请最为恰当
  • App 通知的具体规范以及 Android 8.0 通知渠道该如何适配
  • 各种组件的开发规范等……

这些内容篇幅较长,同时也考虑到本项目已经标上了 “Final (完结版)”,不太可能再加入更多规范。可以考虑直接修改标题来避免一些误解,例如可以改成《Android 开发代码风格规范》,其余内容放置到 “扩展阅读” 章节(值得一提,Android 组件/功能的开发规范 Google 官方都有给出详细内容,建议补充一个扩展链接:https://developer.android.com/training/index.html )。

资源对象命名规则修改建议

命名规则:类型{_模块名}_逻辑名称、类型{_模块名}_颜色
建议改为:
模块名_类型_逻辑名称、模块名_类型_颜色

因为如果开发到一定阶段要转组件化, 这样处理资源文件会方便很多. 就算不组件化, 名称看起来也是很整齐的, 因为个人之前经历过, 不确定作者有更全面的考虑吧?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.