The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:
我是软件开发中规则和纪律的忠实拥护者;例如,请参阅《你是黑客还是设计师?》。此外,我是纯正面向对象编程的狂热爱好者;例如,请参阅《一个好对象的七个美德》。我还是Zerocracy的联合创始人兼首席执行官,通过这家软件开发公司,我将我的纪律和干净设计的钦佩付诸实践。
我希望鼓励你分享我的激情——不仅通过阅读这个博客,还要以纪律的方式制作真正的开源软件。这个奖项是为那些敢于逆流而上,并且将质量看得高于一切的人而设立的。
发送给我你自己的项目以供审查,并参加比赛。
一个人最多可以提交三个项目。
提交截止日期为2015年9月1日已结束。
提交必须通过电子邮件发送至me@yegor256.com。我只需要您的GitHub登录名和仓库名称;我将检查提交历史记录以确保您是项目的主要贡献者。
我保留拒绝任何提交的权利,无需解释。
所有提交内容都将在此页面上发布(包括被拒绝的)。
结果将会在10月15日在此页面和通过电子邮件公布。
最好的项目将获得$4,096。
最佳的8个项目将获得任意JetBrains产品的1年开源许可证(每个项目一张许可证)。
最终决策将由我做出,并且不可商议(尽管我可能会邀请其他人帮助我做出正确的决策)。
每个项目必须是:
至少5,000行代码。
至少一年以上。
面向对象(这是我唯一理解的东西)。
最好的项目将会具备以下特点(更多相关信息):
“Continuous delivery.” (持续交付)
变更的可追溯性。
自文档化的源代码。
代码格式的严格规则。
什么不重要:
编程语言。我相信,任何语言,只要被正确使用,都可以应用于设计高质量的产品。
热点和趋势。即使你的项目只是另一个命令行参数解析器,它仍然有资格获得奖项。我不关心你的营销定位;品质才是最重要的。
顺便说一句,如果你想赞助这个奖项并增加奖金,请给我发电子邮件。
迄今为止已提交的项目共有158个(按提交顺序排列):
”
FagnerMartinsBrack/WebStories
” 请将此段英文Markdown翻译成中文,不要翻译技术术语和专有名词。“
robertop/triumph4php
” 请将此翻译为中文。”
blambeau/wlang
” 的 Markdown 段落。
alf-tool/alf-core
由 @blambeau
制作。
”
siom79/japicmp
” 的 Markdown 段落翻译为中文为:”
tunabrain/tungsten
” translated to Chinese: “tunabrain/tungsten
””
AdamsLair/duality
” translated to Chinese is “AdamsLair/duality
” (https://github.com/AdamsLair/duality).Pacmanfan/UVDLPSlicerController
”
Bertram25/ValyriaTear
” translated to Chinese is “Bertram25/ValyriaTear
(https://github.com/Bertram25/ValyriaTear)”.”
odoepner/typepad
” translates to “【odoepner/typepad】(https://github.com/odoepner/typepad)” in Chinese.vladmihalcea/flexy-pool
请将以下Markdown段落从英文翻译成中文,不要翻译技术术语和专有名词。js-cookie/js-cookie
by@FagnerMartinsBrack
should be translated as:
js-cookie/js-cookie
由 @FagnerMartinsBrack
创建。
jOOQ/jOOQ 由 @lukaseder 创建。
”
raphw/byte-buddy
” translates to “raphw/byte-buddy
” in Chinese.”
uniVocity/univocity-parsers
by@jbax
” translates to Chinese as “uniVocity/univocity-parsers
由@jbax
创建””
arnaudroger/SimpleFlatMapper
” translates to Chinese as “arnaudroger/SimpleFlatMapper
””
trade-manager/trade-manager
” 请将此Markdown段落从英文翻译为中文,不要翻译技术术语和专有名词。”
ParaPenguin/morphix
” translated into Chinese is “ParaPenguin/morphix
”.”
tzaeschke/zoodb
” translated into Chinese is “tzaeschke/zoodb
”.”
tzaeschke/critbit
“的英文翻译是:”tzaeschke/critbit
””
praveendath92/MDroid
” 的 Markdown 段落。”
DeqingSun/ESP8266-Dash-Button
” translates to:
”DeqingSun/ESP8266-Dash-Button
”
”
javamonkey/beetl2.0
“的中文翻译为:”javamonkey/beetl2.0
“(https://github.com/javamonkey/beetl2.0)。”
81813780/HandyTabBar
” 的中文翻译是:”81813780/HandyTabBar
””
xionghuiCoder/clearpool
” translates to “xionghuiCoder/clearpool
” in Chinese.”
android-cjj/ComicReader
” can be translated to Chinese as “android-cjj/ComicReader
(https://github.com/android-cjj/ComicReader)”.”
Dreampie/icedog
” should be translated to Chinese as “Dreampie/icedog
”.”
hujiaweibujidao/TinyWeibo
” translates to “hujiaweibujidao/TinyWeibo
(https://github.com/hujiaweibujidao/TinyWeibo)”.”
hujiaweibujidao/XingShan
” translates to “hujiaweibujidao/XingShan
(https://github.com/hujiaweibujidao/XingShan)”.”
hujiaweibujidao/WeChat4j
” translates to “【hujiaweibujidao/WeChat4j】(https://github.com/hujiaweibujidao/WeChat4j)” in Chinese.”
beartung/tclip-android
” translates to “beartung/tclip-android
” in Chinese.”
beartung/insta-filter
” translates to “【beartung/insta-filter】(https://github.com/beartung/insta-filter)” in Chinese.”
wewoor/ZBLOG
“的中文翻译为:”wewoor/ZBLOG
“。gulpjs/gulp
由@contra
创建”
joedayz/titanic-javaee7
” 的中文翻译如下:”
TheCricket/Chisel-2
” can be translated to Chinese as “TheCricket/Chisel-2
”.“
ddasilva/scheme-droid
” 请将此Markdown段翻译为中文,不要翻译技术术语和专有名词。”
chenjishi/SlideActivity
” should be translated to Chinese as “chenjishi/SlideActivity
”.”
yazeed44/MultiImagePicker
“请将此Markdown段落从英文翻译成中文,不要翻译技术术语和专有名词。”
wbotelhos/raty
” should be translated as “wbotelhos/raty
” without translating the technical terms and proper nouns.”
miku-nyan/Overchan-Android
” can be translated to Chinese as “miku-nyan/Overchan-Android
”.chylex/Hardcore-Ender-Expansion
请将此链接指向的 Markdown 段落从英文翻译为中文,不要翻译技术术语和专有名词。”
lionsoul2014/jcseg
” translated into Chinese is “lionsoul2014/jcseg
”.”
yfpeng/pengyifan-bioc
” would be translated to Chinese as “yfpeng/pengyifan-bioc
”.”
daimor/NBStudio
” translated to Chinese is “daimor/NBStudio
”.”
sytolk/TaxiAndroidOpen
“的中文翻译为:”sytolk/TaxiAndroidOpen
””
yaylas/AndroidFaceRecognizer
” translates to “yaylas/AndroidFaceRecognizer
” in Chinese.”
omgware/fluid-simulator-v2
” should be translated as “omgware/fluid-simulator-v2
”.”
wendykierp/JTransforms
” translated to Chinese: “wendykierp/JTransforms
”
请将上述Markdown段落从英文翻译成中文,不要翻译技术术语和专有名词。
”
subchen/jetbrick-template-2x
” translated to Chinese is “subchen/jetbrick-template-2x
(https://github.com/subchen/jetbrick-template-2x)”.”
subchen/snack-string
” 的中文翻译为:”subchen/snack-string
“。”
restorer/zame-haxe-particles
” 请不要翻译技术术语和专有名词。”
mrzl/LeapMotionP5
“的翻译”
relu91/niftyeditor
“请将此句翻译成中文。
请将上述Markdown段落从英文翻译成中文,不要翻译技术术语和专有名词。
”
t-oster/VisiCut
” translates to “t-oster/VisiCut
” in Chinese.”
arnaudroger/SimpleFlatMapper
” 的中文翻译为:”arnaudroger/SimpleFlatMapper
””
Floens/Clover
” in Chinese is “Floens/Clover
”.”
chrisshayan/TechLooper
” translated to Chinese is “chrisshayan/TechLooper
”.”
bonigarcia/dualsub
“的翻译为中文为”
blundell/WoodyFaceDetection
” translated to Chinese is “blundell/WoodyFaceDetection
”.”
blundell/QuickSand
” 的中文翻译为:”blundell/QuickSand
””
blundell/ArrowLogger
” translates to “blundell/ArrowLogger
” in Chinese.”
jmyrland/DriSMo
” should be translated as “jmyrland/DriSMo
” in Chinese as it contains technical terms and proper nouns that should not be translated.”
javaslang/javaslang
” translates to Chinese as “javaslang/javaslang
”.”
jasonycw/MemeCreator
” should be translated to Chinese as “jasonycw/MemeCreator
”.”
jasonycw/TyphoonTycoon
” translated to Chinese would be “jasonycw/TyphoonTycoon
“(jasonycw/TyphoonTycoon
).”
ysc/QuestionAnsweringSystem
“的意思是将Markdown段落从英语翻译成中文,不要翻译技术术语和专有名词。”
ysc/word
“的中文翻译是什么?”
andot/hprose
” translates to “andot/hprose
” in Chinese.”
guikeller/jetty-runner
” 的 Markdown 段落。h2oai/h2o-3
由@srisatish
创建。”
Feng14/MiniWeChat-Server
” translates to “Feng14/MiniWeChat-Server
” in Chinese.”
tianzhijiexian/ActivityOptionsICS
” translates to “tianzhijiexian/ActivityOptionsICS
(https://github.com/tianzhijiexian/ActivityOptionsICS)”.”
swanson/stringer
” can be translated to Chinese as “swanson/stringer
“(https://github.com/swanson/stringer
).”
JayFang1993/DropDownMenu
“请将此Markdown段落从英文翻译成中文,不要翻译技术术语和专有名词。”
AizazAZ/Android-Ultra-Photo-Selector
” in Chinese is: “AizazAZ/Android-Ultra-Photo-Selector
””
patilswapnilv/TerminalIDE
” translates to “patilswapnilv/TerminalIDE
” in Chinese.”
zhaoqp2010/andbase
” translates to “zhaoqp2010/andbase
(https://github.com/zhaoqp2010/andbase)” in Chinese.”
omry/banana
” should be translated to Chinese as “omry/banana
”.”
jackrex/AndroidCacheFoundation
” translates to “jackrex/AndroidCacheFoundation
” in Chinese.”
kaitoy/pcap4j
” translates to “【kaitoy/pcap4j
](https://github.com/kaitoy/pcap4j)】”.”
rgladwell/m2e-android
” 请将此Markdown段落从英文翻译成中文,不要翻译技术术语和专有名词。”
scireum/parsii
“的翻译为中文是”
scireum/sirius-kernel
” translates to “scireum/sirius-kernel
” in Chinese.yazeed44/ResizableView
请将以下 Markdown 段落从英文翻译为中文,不要翻译技术术语和专有名词。”
yazeed44/GroceryShopping
” 的翻译为中文是:”yazeed44/GroceryShopping
””
MindMac/AndroidAppLog
” translates to “【MindMac/AndroidAppLog
](https://github.com/MindMac/AndroidAppLog)】” in Chinese.”
kpbird/chips-edittext-library
” would be translated to Chinese as “kpbird/chips-edittext-library
”.”
spiffyui/spiffyui
” translated to Chinese is “spiffyui/spiffyui
“(https://github.com/spiffyui/spiffyui)。”
conductor-framework/conductor
by@ddavison
” would be translated to Chinese as “conductor-framework/conductor
由@ddavison
””
ctron/package-drone
” 请将此Markdown段落从英文翻译成中文,不要翻译技术术语和专有名词。”
markkerzner/FreeEed
” 的中文翻译为:”markkerzner/FreeEed
””
morris/lessql
” translates to “morris/lessql
” in Chinese.”
jitlogic/zorka
“的中文翻译为请sdorra/angular-dashboard-framework
请将以下的Markdown段落从英语翻译成中文,不要翻译技术术语和专有名词。”
iluwatar/java-design-patterns
” translated to Chinese is “iluwatar/java-design-patterns
(https://github.com/iluwatar/java-design-patterns)”.”
chesterbr/ruby2600
” translates to “chesterbr/ruby2600
” in Chinese.”
testinfected/molecule
” can be translated to Chinese as “testinfected/molecule
”.”
testinfected/simple-petstore
“的中文翻译为:testinfected/simple-petstore
。”
pchab/AndroidRTC
” translates to “pchab/AndroidRTC
” in Chinese.”
dolda2000/ashd
” translated to Chinese is “dolda2000/ashd
”.”
MaigoAkisame/MCPDict
” 的 Markdown 段落,請翻譯成中文,不要翻譯技術術語和專有名詞。”
Ph1b/MaterialAudiobookPlayer
” translated to Chinese is “Ph1b/MaterialAudiobookPlayer
”.SVGKit/SVGKit
由@adamgit
创建。vertigo17/Cerberus
由@bcivel
创建。”
jaredsburrows/OpenQuartz
” should be translated to Chinese as “jaredsburrows/OpenQuartz
”.”
jaredsburrows/AndroidGradleTemplate
” 的 Markdown 段落请翻译成中文,不要翻译技术术语和专有名词。”
vitalidze/traccar-web
” translates to “vitalidze/traccar-web
” in Chinese.”
ReikaKalseki/ChromatiCraft
” translated to Chinese would be “ReikaKalseki/ChromatiCraft
“(https://github.com/ReikaKalseki/ChromatiCraft)。”
ReikaKalseki/RotaryCraft
” 请将此Markdown段落从英文翻译成中文,不要翻译技术术语和专有名词。”
ReikaKalseki/DragonAPI
” translated to Chinese is “ReikaKalseki/DragonAPI
”.
jOOQ/jOOX 由 @lukaseder 创建。
”
konsoletyper/teavm
” should be translated as “konsoletyper/teavm
” in Chinese as it consists of technical terms and a proper noun.citiususc/hipster
请将以下Markdown段落从英语翻译成中文,不要翻译技术术语和专有名词。”
katzer/cordova-plugin-email-composer
” 请将此Markdown段落从英文翻译为中文,不要翻译技术术语和专有名词。”
nivdul/actitracker-cassandra-spark
” translated to Chinese: “nivdul/actitracker-cassandra-spark
””
LuckyJayce/ViewPagerIndicator
” translates to “【LuckyJayce/ViewPagerIndicator】” in Chinese.”
xvik/dropwizard-guicey
” 的中文翻译为:”xvik/dropwizard-guicey
””
mbosecke/pebble
” can be translated to Chinese as “mbosecke/pebble
(https://github.com/mbosecke/pebble)”.inklabs/kommerce-core
由@pdt256
创建。”
elchris/easysql
” 的中文翻译是什么?checkstyle/checkstyle
由@romani
创建。”
mifmif/mspider
“请将此Markdown段落从英文翻译成中文,不要翻译技术术语和专有名词。”
KeldOelykke/FailFast
” 的 Markdown 段落翻译成中文为:”KeldOelykke/FailFast
””
trautonen/coveralls-maven-plugin
” 的 Markdown 段落的中文翻译为:”trautonen/coveralls-maven-plugin
””
mystilleef/eclipse4-smartsave
” translated to Chinese is “mystilleef/eclipse4-smartsave
(https://github.com/mystilleef/eclipse4-smartsave)”.”
kbilsted/StatePrinter
” 的翻译为中文是:kbilsted/StatePrinter
js-cookie/java-cookie
由@FagnerMartinsBrack
编写。
”
Suseika/inflectible
” 的中文翻译为:”Suseika/inflectible
“。”
mp911de/lettuce
” should be translated as “mp911de/lettuce
”.”
mafagafogigante/dungeon
” translates to “mafagafogigante/dungeon
” in Chinese.
colonB/Mixer
由 @kkashpur
创建。
colonB/Dorm
由@kkashpur
创建。
10月4日:几周前,我要求与我一起工作的三个人检查此列表中的每个项目,并提供他们的反馈意见。他们给我发来了三个纯文本文件。这里有它们的合并文件,几乎没有做任何更正:award-2015.txt
(你可以在那里找到你的项目)。根据他们的意见,我决定选择以下12个项目进行更详细的审查(按字母顺序排列):
”
checkstyle/checkstyle
” 的中文翻译是:”checkstyle/checkstyle
””
citiususc/hipster
” translates to “citiususc/hipster
” in Chinese.”
gulpjs/gulp
” 的 Markdown 段落请翻译成中文。请不要翻译技术术语和专有名词。kaitoy/pcap4j
translates tokaitoy/pcap4j
.raphw/byte-buddy
(added on Oct-5)
raphw/byte-buddy
(于10月5日添加)
”
gvlasov/inflectible
” translates to “gvlasov/inflectible
(https://github.com/gvlasov/inflectible)” in Chinese.”
testinfected/molecule
” translates to “testinfected/molecule
” in Chinese.”
trautonen/coveralls-maven-plugin
” translated to Chinese is “trautonen/coveralls-maven-plugin
” (链接).”
wbotelhos/raty
” should be translated as “wbotelhos/raty
”.”
xvik/guice-persist-orient
“请不要翻译技术术语和专有名词。
我会尽快审查它们。获胜者将于10月15日公布。
10月5日:我收到了raphw/byte-buddy
的作者的电子邮件,要求我重新考虑对这个项目的决定。我快速查看了项目被过滤掉的原因,并决定将其列入入围名单。顺便说一下,如果你们中的任何人认为自己的项目被错误地排除在外,请随时给我发电子邮件。
10月11日:今天我分析了所有12个项目。它们全部都是非常好的项目,所以为了找到最好的一个,我专注于它们的缺点而非优点。以下是我初步发现的情况。
coala-analyzer/coala
(14K Python代码行数,160K代码行数)
有全局函数,例如
get_language_tool_results
和DictUtilities
。这在面向对象编程中绝对是一个糟糕的想法。类
Constants
是一个糟糕的想法。在运行时检查对象类型是个不好的主意,例如
ClangCountVectorCreator.py
。cindex.py
有什么问题?代码有近3200行,太多了。静态分析不是构建/发布流程中的强制步骤。这就是为什么我认为代码格式不一致,有时相当丑陋的原因。例如,
pylint
报告了数百个问题。(更新:使用了scrutinizer,但我仍然相信本地使用pylint会严重提高代码质量)有些方法有文档,而有些没有。我不明白其中的逻辑。如果所有方法都有文档就太好了。另外,并不是所有的类都有文档。
Score: 5
checkstyle/checkstyle
(83K Java LoC, 553K HoC)
【checkstyle/checkstyle
](https://github.com/checkstyle/checkstyle)(83K Java LoC,553K HoC)
有很多实用类,是面向对象编程中的一种不好的事情。它们甚至被分组到一个特殊的
utils
包中,这是一个非常糟糕的想法。设置器和获取器随处可见,以及不可变类,这些实际上不是面向对象编程的一部分,例如
DetectorOptions
。NULL
在许多地方被积极使用,这是一个严重的反模式。我找到了五个
.java
文件,每个文件中有超过1000行的代码,例如ParseTreeBuilder.java
中有2500+行。有不同的贡献者对主分支进行了直接提交,其中一些没有与任何问题关联起来。很难理解为什么进行了这些提交。例如,看看这个
7c50922
。是否有相关讨论?是谁做出了决定?一点都不清楚。“Releases are not documented at all.”
【发布版本】(https://github.com/checkstyle/checkstyle/releases)根本没有记录。
发布流程不是自动化的。至少我在代码库里没有找到任何发布脚本。
Score: 3
”citiususc/hipster
(5K Java LoC,64K HoC)”
有一些公共的静态方法和实用类,例如这个具有有趣名字的
F
。to use
NULL
as a placeholder value or to represent the absence of a value. Instead, it is recommended to use more descriptive alternatives, such asNone
in Python ornil
in Ruby.JavaDoc文档不一致,有些方法有文档,而其他方法没有。
并不是所有的提交都与工单相关,例如,看看这个:
8cfa5de
。更改直接提交到
master
分支,根本不使用拉取请求。我没有找到自动发布的流程。我找到了一个用于定期快照部署到Bintray的流程,但是关于正式发布呢?是手动完成的吗?
没有静态分析,这就是为什么代码有时看起来很乱。
单元测试的数量相当少。除此之外,我没有找到任何地方发布的真实代码覆盖报告。
Score: 4
gulpjs/gulp
(700 JS LoC)
【gulpjs/gulp
](https://github.com/gulpjs/gulp)(700 JS LoC)
- Score: 0
kaitoy/pcap4j
(42K LoC, 122K HoC)
kaitoy/pcap4j
(42K 行代码,122K 字符)
NULL
在可变对象中使用,例如在AbstractPcapAddress
中使用;这是一个不好的主意。有太多的
static
方法和变量。它们简直无处不在。甚至有一个名为pcap4j-packetfactory-static
的模块,充满了带有静态方法的“类”。JavaDoc文档不一致,有时甚至不完整,请查看此链接作为例子。
只有几个问题和六个拉取请求。提交与问题没有关联。几乎没有任何变更的可追踪性。
发布流程未自动化,releases 未有记录。
没有静态分析,所以代码有时看起来很乱
Score: 3
raphw/byte-buddy
(84K LoC, 503K HoC)
【raphw/byte-buddy
](https://github.com/raphw/byte-buddy)(84K行代码,503K高度代码)
有很多
public static
方法和属性。我意识到这可能是在Java中处理问题域的唯一方式,但还是…instanceof
经常被使用,但在面向对象编程中,这是一种不好的做法。虽然我理解在某些情况下问题域可能需要它,但是还是……大多数提交直接在主分支上进行,没有拉取请求或票证,这就是为什么它们的可追溯性被破坏了。
发布程序不是自动化的(我没有找到脚本)。
Score: 5
”subchen/snack-string
(1K LoC,2K HoC)”
- Score: 0
gvlasov/inflectible
(5K LoC, 36K HoC) 的中文翻译为:gvlasov/inflectible
(5千行代码,36千行其他代码)。
- Score: 10
testinfected/molecule
(10K LoC, 43K HoC)
有一些类中有设置器(setters)和访问器(getters),尽管它们采用了不同的命名约定,例如
Request
和Response
。大多数
.java
文件没有任何JavDoc块,并且它们看起来是一致的,但突然间,一些文件确实有文档,例如WebServer
。问题并不多,而且大多数提交无法追溯到其中任何一个问题,例如
b4143a0
——为什么进行这个提交?不清楚。此外,几乎没有拉取请求。看起来作者只是向主分支提交。发布流程没有记录/自动化。我找不到它。此外,releases也没有记录。
静态分析是不存在的。
Score: 6
trautonen/coveralls-maven-plugin
(4.5K LoC) should not be translated as it consists of technical terms and proper nouns.
- Score: 0
”wbotelhos/raty
(8.7千行代码,63千字符)”
有全局函数,例如在
helper.js
中。jasmine.js
有2400行代码,这太多了。我不明白为什么
.html
文件与.js
文件放在同一个目录中,例如run.html
。并非所有的更改都可以追溯到问题,比如
0a233e8
。项目中的问题并不多,只有一些拉取请求。发布流程不是自动化的(至少我没有找到任何关于它的文档)。
没有静态分析
没有单元测试
Score: 2
xvik/guice-persist-orient
(17K LoC, 54K HoC) should not be translated as it contains technical terms and proper nouns.
依赖注入被积极使用,我认为这在面向对象编程中通常是一个不好的想法。但在这个项目中,我理解这是问题领域所要求的。无论如何…
只有少量问题和几乎没有拉取请求,而且提交无法追溯到问题,例如这个:
e9c8f79
没有静态分析(使用一部分Checkstyle、PMD和FindBugs检查)。
Score: 5
我主要关注反模式,这是我们应尽量避免的第一个和最可怕的错误。例如,null
的存在比自动发布程序的缺失更严重地影响了得分。
10月15日:因此,我们从提交到竞赛的158个项目中选出了以下最佳项目:
testinfected/molecule
的Markdown段落coala-analyzer/coala
请将上述的 Markdown 段落从英文翻译成中文,不要翻译技术术语和专有名词。xvik/guice-persist-orient
请,将此Markdown段落从英文翻译成中文,不要翻译技术术语和专有名词。raphw/byte-buddy
请将以下的 Markdown 段落从英文翻译成中文,不要翻译技术术语和专有名词。checkstyle/checkstyle
请将上述Markdown段落从英文翻译成中文,不要翻译技术术语和专有名词。kaitoy/pcap4j
请将以下Markdown段落从英语翻译成中文,不要翻译技术术语和专有名词。
恭喜@gvlasov
获胜者!这是您的徽章:
将这段代码放入GitHub的README文件中:
所有八个项目将获得一个 JetBrains 产品的一年免费单用户许可证。我会给大家发电子邮件,然后我们会商讨如何进行转让。
感谢大家的参与!明年再见。
Translated by ChatGPT gpt-3.5-turbo/42 on 2023-12-05 at 22:00