The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:
这是软件质量奖的第三年。奖金仍然是相同的 - $4,096。规则仍然是相同的。请继续阅读。往年的奖项在这里:2015,2016。
一个人只能提交一个项目。
提交截止日期为2017年9月1日。
我会查看提交历史以确保您是该项目的主要贡献者。
我保留拒绝任何提交而不给予解释的权利。
所有提交内容将在此页面上发布(包括被拒绝的)。
结果将于2017年10月15日在此页面和通过电子邮件公布。
最佳项目将获得4096美元。
最终决策将由我做出,并且不可商议(尽管我可能会邀请其他人帮助我做出正确的决定)。
在过去几年中获得任何现金奖励的获奖者不能再次提交。
每个项目必须是:
至少10,000行代码。
至少一年以上。
面向对象(这是我唯一理解的东西)。
使用以下标准选择最佳项目。
不重要的事项:
编程语言。我相信任何语言,只要使用得当,都可以用来设计高质量的产品。
潮流和趋势。即使您的项目只是另一个命令行参数解析器,它仍然有资格获得奖项。我不关心您的营销职位;质量才是最重要的。
顺便说一下,如果你想赞助此奖项并增加奖金,请给我发送电子邮件。
迄今为止已提交的这28个项目(按提交顺序):
JnRouvignac/AutoRefactor
(Java)javaslang/javaslang
(Java)
javaslang/javaslang
(Java)
HDouss/jeometry
(Java)ntpsec/ntpsec
(C) translates tontpsec/ntpsec
(C)in Chinese.php-ai/php-ml
(PHP)LobbyOS/lobby
(PHP) ->LobbyOS/lobby
(PHP)onqtam/doctest
(C++) translates to:
onqtam/doctest
(C++)
iboB/dynamix
(C++)
【iboB/dynamix
](https://github.com/iboB/dynamix)(C++)
atk4/data
(PHP)
atk4/data
(PHP)
laravel/framework
(PHP) 软件包zetaops/ulakbus
(Python) should be translated as “zetaops/ulakbus
(Python)”.mgramin/sql-boot
(Java) 的中文翻译是什么?kogoia/MRTD.NET
(C#) =>kogoia/MRTD.NET
(C#)mafagafogigante/dungeon
(Java)javascript-obfuscator/javascript-obfuscator
(TypeScript)
【javascript-obfuscator/javascript-obfuscator】(https://github.com/javascript-obfuscator/javascript-obfuscator)(TypeScript)
klapuch/Remembrall
(PHP) 请将上述 Markdown 段落从英文翻译成中文,不要翻译技术术语和专有名词。zahasoft/repository
(C#) 请将此段翻译为中文,不要翻译技术术语和专有名词。DrBookings/drbookings
(Java)
【DrBookings/drbookings】(Java)
flyimg/flyimg
(PHP)
【flyimg/flyimg】(https://github.com/flyimg/flyimg)(PHP)
miso-belica/sumy
(Python)请
【simplcommerce/SimplCommerce】(https://github.com/simplcommerce/SimplCommerce)(C#)
dkhmelenko/Varis-Android
(Java) 请将该段转换为中文。pmed/v8pp
(C++) translates to[pmed/v8pp](https://github.com/pmed/v8pp) (C++)
in Chinese.ribtoks/xpiks
(C++) ->ribtoks/xpiks
(C++)octaviospain/Musicott
(Java)
【octaviospain/Musicott】(Java)
ev3dev-lang-java/ev3dev-lang-java
(Java) translates to:ev3dev-lang-java/ev3dev-lang-java
(Java)
[2017年9月15日] 我邀请了六个人来帮我审查这些项目。他们的名字是:
“Filipe Freire (C/C++, 6 projects)” translated to Chinese: 「Filipe Freire(C/C++,6个项目)」
Sergey Kapralov(Java,3个项目)
Mihai Andronache (Java,3个项目)
Sergey Bukharov (Java, 3 projects) 谢尔盖·布哈罗夫(Java,3个项目)
Valentin Ignatyev: (Python,2个项目)
[2017年10月15日] 这是他们发送给我的所有内容的摘要:award-2017.txt。我将在接下来的几天内选择获胜者,敬请关注!
[2017年10月21日] 我的入围名单包括以下六个项目(随机排序):php-ai/php-ml
,vavr-io/vavr
,zetaops/ulakbus
,mafagafogigante/dungeon
,ribtoks/xpiks
,javascript-obfuscator/javascript-obfuscator
。明天(希望如此)我将决定如何分割4096美元。
[2017年10月23日] 这是我根据入围名单对每个项目的个人观察。我只会提到负面的事情,因为所有的项目都非常出色,没必要说它们有多好。我按照问题的重要性进行了排序(最重要的在前)。
php-ai/php-ml
(9.8K LoC PHP,29K HoC):
在许多地方,有获取器(getters)、设置器(setters)和可变性。
在许多地方都会出现NULL(再次提醒,我知道PHP中没有方法重载)。
-ER:估计器(Estimator)、分类器(Classifier)、聚类器(Clusterer)、优化器(Optimizer)等。
在构造函数中编写代码(是的,我理解这是PHP)。
方法体中的空行
Score: 5
vavr-io/vavr
(70K LoC Java, 834K HoC): 【vavr-io/vavr
](https://github.com/vavr-io/vavr)(70K行Java代码,834K行代码):
有一些非常大的“类”,它们在
io.vavr.collection
包中非常庞大。接口
Seq
有 120 多个方法!发生了什么事?实用类,静态方法
一些
.java
文件中有几个Java类。为什么?无法构建主要分支:#2147
Score: 4
zetaops/ulakbus
(25K行Python代码,707K高度复杂度):
没有CI,没有测试覆盖率,没有静态分析自动化?
查看评论来自评论者
Score: 2
mafagafogigante/dungeon
(14K LoC Java, 88K HoC):
静态方法,获取器,设置器,可变性
提交不会链接到问题和PR。
在很多地方都有方法体内的注释,这是一个不好的做法。
Score: 5
ribtoks/xpiks
(180K+ LoC C/C++, 739K HoC): ribtoks/xpiks
(180K+行C/C++代码,739K HoC):
类型非常庞大,拥有许多方法。
Util类,助手
-ERs:CommandManager(命令管理器)、SpellCheckWorker(拼写检查工作者)等。
我在代码中没有找到太多的文档。
提交不与问题/拉请求相关联。
Score: 4
javascript-obfuscator/javascript-obfuscator
(72K LoC JS/TS,400K HoC):
注解驱动的可注入依赖
-ERs: 阅读器,消毒剂,发射器
类中的公共属性
我相信这里许多“对象”只是DTOs。
接口以
I
为前缀,这是一种反模式。Score: 4
我对今年的总体印象是,我收到的垃圾信息要少得多。提交的项目更少,但它们的质量比前两年要高得多。我很高兴看到这种趋势。这对我来说意味着我正在做正确的事情。
这一次,我更加注重面向对象编程的优雅性和代码库的可维护性。可维护性的关键因素包括:
自动静态分析
自动构建 (CI)
Automated tests
有纪律的提交,通过问题和 PR。
对于面向对象编程的优雅性,像往常一样,我关注了反模式的缺失,包括NULL、getter、setter、静态、可变性等等。
今年有两个获奖者:php-ai/php-ml
和mafagafogigante/dungeon
。但我并不是真的喜欢我在这些代码库中发现的代码。它显然比其他人好,但并不完美。
因此,这是我的决定:我将只给每个获奖者$1,024,而不是$2,048。
恭喜@itcraftsmanpl
获得php-ml
($1,024),以及@mafagafogigante
获得dungeon
($1,024)。
这是你们的徽章:
将这段代码放入GitHub的README
文件中(将URL中的???
替换为你的GitHub用户名)。
感谢大家的参与!明年再见。
Translated by ChatGPT gpt-3.5-turbo/42 on 2023-12-17 at 15:40