帮助阿里巴巴遵守阿里巴巴规范(第二季)

2019-03-14 06:39:27 +08:00
 blindpirate

前情提要: https://www.v2ex.com/t/543954

想要为开源项目做贡献,但是苦于找不到门路?请加入我,一起向阿里巴巴提交 PR,修正阿里巴巴的开源项目中违背 https://github.com/alibaba/p3c 规范的代码吧!许多人向开源社区做贡献就是 fix typo/code style 开始的,我也不例外。现在有一个好机会向知名项目提交代码,并且十分容易!

方法参见: https://github.com/blindpirate/does-alibaba-follow-their-own-guidelines/blob/master/README.md#%E5%B8%AE%E5%8A%A9%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E9%81%B5%E5%AE%88%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E8%A7%84%E8%8C%83

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-pmd-plugin</artifactId>
    <version>3.8</version>
    <configuration>
      <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
      <targetJdk>1.8</targetJdk>
      <printFailingErrors>true</printFailingErrors>
      <rulesets>
        <ruleset>rulesets/java/ali-comment.xml</ruleset>
        <ruleset>rulesets/java/ali-concurrent.xml</ruleset>
        <ruleset>rulesets/java/ali-constant.xml</ruleset>
        <ruleset>rulesets/java/ali-exception.xml</ruleset>
        <ruleset>rulesets/java/ali-flowcontrol.xml</ruleset>
        <ruleset>rulesets/java/ali-naming.xml</ruleset>
        <ruleset>rulesets/java/ali-oop.xml</ruleset>
        <ruleset>rulesets/java/ali-orm.xml</ruleset>
        <ruleset>rulesets/java/ali-other.xml</ruleset>
        <ruleset>rulesets/java/ali-set.xml</ruleset>
      </rulesets>
    </configuration>
    <executions>
      <execution>
        <phase>verify</phase>
        <goals>
          <goal>check</goal>
        </goals>
      </execution>
    </executions>
    <dependencies>
      <dependency>
        <groupId>com.alibaba.p3c</groupId>
        <artifactId>p3c-pmd</artifactId>
        <version>1.3.6</version>
      </dependency>
    </dependencies>
  </plugin>

非常简单,唯一困难的地方就是迈出第一步。我向 arthas 项目提交了一个 PR 作为样例: https://github.com/alibaba/arthas/pull/568

可以看到几乎都是体力活,十五分钟足够了。

欢迎 review 我的 PR。有任何问题欢迎在此贴中讨论。

6884 次点击
所在节点    Java
59 条回复
abmin521
2019-03-14 12:07:38 +08:00
这种帖子大多反对上一个观点
不管怎么说 我是支持的
这就像有些人总是让别人早睡早起 自己却天天熬夜一样
还有一个不得不面对的现实 有一部分人只关注能用就行 而不是尽力优化。
Raymon111111
2019-03-14 14:54:06 +08:00
挺好的啊

既然阿里自己出了规范, 那么就应该觉得这个规范是好的. 如果开源项目不用遵守这个规范, 说明规范有提高的空间

无论是哪个角度, 都有提高的空间
HongJay
2019-03-14 15:24:19 +08:00
大气量。支持楼主一楼艾特 pp ( dog )
ily433664
2019-03-14 15:50:24 +08:00
规范也只是规范而已,又不是强制,就像所有人都知道早睡有助于健康,但是很多人不也是经常熬夜,lz 明显就是专门来杠的。
还是吃的太饱——袁隆平(并不是)
natforum
2019-03-14 15:56:26 +08:00
钢筋同学,你好
tyrealgray
2019-03-14 16:03:58 +08:00
楼主这种事是好事,不过发帖一次就可以了,再发第二次别人就真的觉得你是要蹭热度搞事了
pabupa
2019-03-14 19:50:40 +08:00
@blindpirate 和您其他的 364 次有什么关系呀……
dfjslkjdf
2019-03-14 21:33:16 +08:00
看见 lz 说,“阿里开源项目的负责人已经联系我了。我们碰巧很久前就认识。”
我想,哟,这是个大人物啊,想必有什么好东西吧,看看。
我就随便翻了一个文件,这都是什么东西? lz 你是不是闲的蛋疼?
![]( )
fancyhan
2019-03-14 21:39:03 +08:00
@dfjslkjdf 确实蛋疼,这个改成这样没必要
cuebyte
2019-03-14 21:45:09 +08:00
已經不懂中國程序員了。指出 typo 在你們看來都算貢獻的情況下,用阿里的代碼規範來敲打阿里開源項目不是比修修 typo 更有意義嗎?難道樓上都是阿里員工?
blindpirate
2019-03-14 22:22:15 +08:00
@fancyhan @dfjslkjdf

阿里巴巴 Java 开发手册:

(七) 控制语句

2. [强制] 在 if/else/for/while/do 语句中必须使用大括号。即使只有一行代码,避免采用 单行的编码方式:if (condition) statements;

https://stackoverflow.com/questions/2125066/is-it-a-bad-practice-to-use-an-if-statement-without-curly-braces

https://coolshell.cn/articles/11112.html

历史上引起过严重 bug。

无知不是你们的错,出来嘲讽就是你们的不对了。
blindpirate
2019-03-14 22:24:46 +08:00
@dfjslkjdf 想看我的代码的话,这是给 OpenJDK 修的 bug:

http://hg.openjdk.java.net/jdk/jdk/rev/53a4760e9fcc

https://bugs.openjdk.java.net/browse/JDK-8210810

无知不是你的错,出来嘲讽就是你的不对了。
dfjslkjdf
2019-03-14 22:41:48 +08:00
@blindpirate
我难道不知道这是规范的一部分?我只是觉得你要是觉得你的时间就值这么多,你自便好了。
反正我觉得对我来说,我要是做这种事情非抽自己一个大嘴巴子,浪费时间。
dfjslkjdf
2019-03-14 22:48:03 +08:00
@blindpirate
第二个链接我打不开,不过我没觉得哪里有水平了。
你要是发个自己的什么构想,什么奇思妙想,什么项目框架,让别人能拍案而起的东西让别人看看,让我们也佩服佩服。
但是你发这个,这就跟国家主席拍个照一样,有人觉得了不起,我反正不吃这一套。
blindpirate
2019-03-14 22:50:40 +08:00
@dfjslkjdf 我的时间比你值钱的多,但我乐意。合并 PR 的人都没意见,你算个什么东西。
dfjslkjdf
2019-03-14 22:52:57 +08:00
@blindpirate
我还以为你能拿出什么有价值的项目拍我脸呢,但是...
你继续乐意吧,我时间不值钱,但是我不乐意。
yuikns
2019-03-14 23:27:21 +08:00
那个… 楼主在 gradle 的 contribution 列表排 #19,654 commits 40,489 ++ 156,545 --

虽然我打开和关闭了 sbt 和 bazel 比较熟练,但还是觉得很厉害了。
至少比只会 judge 别人的厉害
Zzdex
2019-03-14 23:34:52 +08:00
支持楼主
ilgharkus
2019-03-14 23:46:47 +08:00
坐等理学家,高级软件工程师,语言学家和礼仪学家 PP 出现。
后排支持楼主。
BTW,自己觉得有意义的事自己去做就行了,用不着和别人争执,一件事是否有意义取决于双方的能力,个人状况,阅历和价值观种种因素,有分歧很正常,如果引起争执就很没有必要了。
David1119
2019-03-14 23:48:00 +08:00
支持!!!

@dfjslkjdf 楼主在 gradle 啊。。。。你要啥有价值的???

通过这俩帖子知道为啥国内对开源贡献之差了,吃饱了宁可吃鸡、王者、水 v2 也不愿去帮开源项目改个 typo

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/544369

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX