You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
关于非公开成员变量使用小 m 开头,其实这个问题在行业内颇有争议,但是从谷歌的源码、Support 库源码来分析,他们还是使用的这种方式,所以我个人建议使用这种方式来做,因为这样的解释会有一定的公信力。如果出现 set 和 get 方法时,如果用 public 会导致一个问题,那就是变量变得不可控,例如我只想让外层 get 该值、但实际是调用者却可以 set 该值。
资源 ID 命名是一定要按照模块来命名,当然也要考虑一些特殊情况,例如一些共用的 String,例如 确定取消 这种,其实文档中都有注明命名方式,你可以仔细观看String ID 命名规范,由于今天鸿洋转载的代码规范是旧版本的,所以他那篇文章中并没有注明该项。
Activity
getActivity commentedon Feb 25, 2021
收到小伙子,多谢建议
getActivity commentedon Feb 25, 2021
layout_marginStart、layout_marginHorizontal在 style 中书写时存在什么使用局限?关于非公开成员变量使用小 m 开头,其实这个问题在行业内颇有争议,但是从谷歌的源码、Support 库源码来分析,他们还是使用的这种方式,所以我个人建议使用这种方式来做,因为这样的解释会有一定的公信力。如果出现 set 和 get 方法时,如果用 public 会导致一个问题,那就是变量变得不可控,例如我只想让外层 get 该值、但实际是调用者却可以 set 该值。
资源 ID 命名是一定要按照模块来命名,当然也要考虑一些特殊情况,例如一些共用的 String,例如
确定取消这种,其实文档中都有注明命名方式,你可以仔细观看String ID 命名规范,由于今天鸿洋转载的代码规范是旧版本的,所以他那篇文章中并没有注明该项。当规范需要新增或者修改时,请参考 代码规范原则。
getActivity commentedon Feb 26, 2021
小伙子,还有别的建议或者问题不,没有的话我就关闭 issue 了
Deep-In-It commentedon Feb 28, 2021
算了说了你也听不进,还是直接关了好
getActivity commentedon Feb 28, 2021
小伙子,只要你是对的,代码规范文档也会跟着改,但关键是你连我都说服不了,别人问起来时我又该怎么说服他?
SaltedFish-Extreme commentedon Aug 30, 2021
我想第一条建议说的是这种情况👀

getActivity commentedon Aug 30, 2021
@SaltedFish-Extreme 小伙子,我试了一下,你在 style.xml 这样写肯定会报这个提示,但是你在 layout.xml 中写就不会有,原理是因为 Studio 在编译时做了一些优化,它会自动帮你把 paddingHorizontal 转成 paddingStart 和 paddingEnd。
SaltedFish-Extreme commentedon Aug 30, 2021
我看如果编译版本高的话在安卓8以上才允许在style文件中这样写,这样的话,为了兼容低版本以及复用属性,在style文件中使用margin和padding时候还是用上下左右的好
altair441n commentedon Oct 19, 2021
关于非公开成员变量使用小 m 开头的问题,这个应该是AOSP的历史遗漏问题https://source.android.google.cn/source/code-style?hl=zh-cn#follow-field-naming-conventions
google现在的JavaStyleGuide是不推荐这样的命名的https://google.github.io/styleguide/javaguide.html#s5.1-identifier-names
getActivity commentedon Oct 21, 2021
@altair441n 小伙子,AOSP 是 Android Open Source Project 的意思,谷歌在 AOSP 规范文档上面还是写着 非公开成员变量使用小 m 开头,而 Java 规范文档上面却写着不推荐,本身这个就存在巨大争议,但是谷歌的源码都是 AOSP 的风格来走的,所以代码规范文档还是得暂时按照 AOSP 的风格来走。
altair441n commentedon Oct 22, 2021
我知道AOSP的意思,我的意思是AOSP代码规范是谷歌早期推荐的,现在提交到AOSP的Pull Request为了保持代码的一致性也被要求符合AOSP的代码规范,这是历史遗留问题,谷歌现在好像已经不推荐成员变量前加m或s了。
protectedMan commentedon Mar 3, 2022
真实
gaoyl87 commentedon Feb 10, 2023
第二条后半段,楼主的意思应该是
public class Test {
private String s;
public void setS();
public String getS();
}
写成
public class Test {
public String s;
}