资讯专栏INFORMATION COLUMN

大物始于小:我是如何做到 GitHub star 在 5 天内从 0 飙至 666 的

番茄西红柿 / 1471人阅读

摘要:未雨绸缪方能在关键时刻拯救自己开源这个项目的另一个缘由是有些事我都已忘记,但我现在还记得,在一个晚上,同事阿左问我,今天怎么不开心。由于情况紧急,我选择求助于同在加班的阿左,没想到,阿左居然在项目闲时自己封装了一个库。

前言

很高兴和大家见面!

上周五我在掘金发表了 《真香警告:即使不用饿了么订餐,也请务必收藏好该库!》,文中主角 Linkage-RecyclerView 原本只是为 《RxJava魔法师》 这个项目的需求而存在的,没想到在各路读者的积极参与下,让一个本来默默无闻的项目,在内容发布的第三天,登陆 GitHub 今日趋势 Java 专区榜单前三,并在 5 天内做到 GitHub star 从 0 飙至 666。(不要慌,项目链接文末已给出)

在此我首先特别感谢热心读者的见证和参与。掘金社区、WanAndroid 读者对源码的认真阅读和交流,让我备受感动。

开源这个项目的初衷

每个架构都有专属的用武之地

开源这个项目的初衷有两个,一个是方便读者借助该项目深入理解,当我们为项目选择架构时,选材的依据是什么。

就我当前的认知来看,项目开发,无非就是顾及 “配置解耦”“职责分离” 这两件事。

对于通用必用的控件库和组件库,我们可以将其抽取成模块,做成可供多个项目依赖的第三方库。

第三方库的目标是让使用者无需了解内部逻辑、通过外部简单的配置即可轻松上手,因而第三方库适合使用 MVP 架构,来实现 “配置解耦”。

对于多人参与的主干工程,我们需要确保 UI 和 业务之间可以分工给不同的人协作,这就要求架构必须具备 “关注点分离(SoC)” 或 “职责分离(SoD)” 的特性。

因而我们可以在主干工程中采用目前主流的关注点分离架构 JetPack MVVM,或者由我自主设计并在公司项目重构中采用的职责分离的 VIABUS Architecture。

未雨绸缪方能在关键时刻拯救自己

开源这个项目的另一个缘由是:

有些事我都已忘记,

但我现在还记得,

在一个晚上,

同事阿左问我,今天怎么不开心。

...

我说在我的想象中,有一个开源库,

与众不同最时尚,接入肯定棒,

整个 GitHub 找遍所有的 Repo,都没有。

他说将来会找到的,

时间,时间,会给我答案。。

哈哈,开玩笑的。缘于,公司某个项目中的另一个需求:为多级联动表单动态绑定数据。

用过 Spinner 的读者都知道,原生的 Spinner 在 onSelectItem 回调中存在延迟的 bug,虽然延迟只有 100ms,但对于哼哧哼哧地装载、绑定、协调表单数据的多级联动表单来说,实在是致命的错误。

因而在那天晚上加班改需求的时候,我非常盼望着找到一款当下就可以使用的 PopupWindow + RecyclerView 实现的第三方 Spinner 开源库。

然而,现实却和我开了个大玩笑,我寻遍了 GitHub 仓库,尝试了若干个项目,都是随便糊弄两下、高度耦合的个人练手项目,这对于急着改需求的我来说,无异于火上浇油。

由于情况紧急,我选择求助于同在加班的阿左,没想到,阿左居然在项目闲时自己封装了一个 Spinner 库。

虽然一眼望去,Adapter 三方逻辑的解耦程度还有待提高,但这个库既然能独立存在、通过几行代码即可调用,对于彼时的我来说,就已经是最丰盛、最美的食物。

于是我毫不犹豫地将该库用在了项目上,在几经尝试后,表单初始化数据终于如愿地正常加载。

如何在 5 天内使 GitHub star 从 0 飙到 666

最后总结一下大家都关心的,如何让自己的作品能被更多地访问、让 GitHub Star 数一路爬升:

即使忘了其他方法,也请务必记得这个不是方法的方法:

———— 向用户提供价值

什么是价值?人们对一件事物有需求,这件事因而有了价值。

人们有什么需求?人们面临着什么困境?这是每个想要服务于大众的人都要首先考虑明白的。

换言之,我们所做的每一件事,都务必精准地化解目标用户的痛点,唯有如此,才有机会在纷杂的信息中脱颖而出,让作品受到用户的青睐和珍视。

每个人服务的领域不同、目标用户也不同,因而用户痛点需要自己在日常生活中投入大量精力去思考和领悟,这也是为什么文章我一周最多只更新一篇的原因。

再者,就算是制作一款简单的作品,也请务必抱着一颗敬畏的心。

在 Linkage-RecyclerView 开源的短短几天里,我累计提交了 49 次代码、多达 9k 行的代码变动。

用户不是傻子,代码是好是坏,一眼就能看出来。唯有一丝不苟地对待工程设计和编码,才有机会让用户感到确定和安心。

此外,酒香也怕巷子深。

想让精心打磨的作品让更多的用户接触到,就要勇于在社交场合展示自己的价值。产品最终都是服务于人,务必多与用户沟通,让产品和个人品牌往更好的方向发展。

当然,口说无凭,以下贴上 别处看不到的、且大家喜闻乐见的 群聊学(chui)习(shui)交流截图:

考虑到我在技术社区发文,应以技术分享和经验交流为主。想一睹群聊现场的朋友,请移一步到我的同名公众号阅读原文~

GitHub 项目链接:github.com/KunMinX/Lin…

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/7037.html

相关文章

  • 大物始于我是如何做到 GitHub star 5 内从 0 飙至 666

    摘要:未雨绸缪方能在关键时刻拯救自己开源这个项目的另一个缘由是有些事我都已忘记,但我现在还记得,在一个晚上,同事阿左问我,今天怎么不开心。由于情况紧急,我选择求助于同在加班的阿左,没想到,阿左居然在项目闲时自己封装了一个库。 前言 很高兴和大家见面! 上周五我在掘金发表了 《真香警告:即使不用饿了么订餐,也请务必收藏好该库!》,文中主角 Linkage-RecyclerView 原本只是为 《Rx...

    tain335 评论0 收藏0
  • 我是如何做到 GitHub star 5 内从 0 飙至 666

    摘要:未雨绸缪方能在关键时刻拯救自己开源这个项目的另一个缘由是有些事我都已忘记,但我现在还记得,在一个晚上,同事阿左问我,今天怎么不开心。由于情况紧急,我选择求助于同在加班的阿左,没想到,阿左居然在项目闲时自己封装了一个库。 前言 很高兴和大家见面! 上周五我在掘金发表了 《真香警告:即使不用饿了么订餐,也请务必收藏好该库!》,文中主角 Linkage-RecyclerView 原本只是为 ...

    inapt 评论0 收藏0
  • 我是如何做到 GitHub star 5 内从 0 飙至 666

    摘要:未雨绸缪方能在关键时刻拯救自己开源这个项目的另一个缘由是有些事我都已忘记,但我现在还记得,在一个晚上,同事阿左问我,今天怎么不开心。由于情况紧急,我选择求助于同在加班的阿左,没想到,阿左居然在项目闲时自己封装了一个库。 前言 很高兴和大家见面! 上周五我在掘金发表了 《真香警告:即使不用饿了么订餐,也请务必收藏好该库!》,文中主角 Linkage-RecyclerView 原本只是为 ...

    AJie 评论0 收藏0
  • 我是如何1天内构建一个深度学习模型并进击Kaggle比赛

    摘要:是为结果导向型人群开设的深度学习在线课程。但是最关键的是,我想通过构建简单的深度学习解决方案来实现理论和实践的相结合。我的目标是在一天结束前进入排名的前。我的时间都用于学习库组织数据和评估结果都是一些与深度学习无关的简单流程。 Fast.ai是Jeremy Howard为结果导向型人群开设的深度学习在线课程。我读过很多关于机器学习的书,也参加过不少这方面的课程,但我认为Fast.ai是迄今为...

    shinezejian 评论0 收藏0
  • 每个男孩机械梦「GitHub 热点速览 v.21.41」

    摘要:作者小鱼干机械臂可能在医疗剧中看过,可以用来执行一些精细化的操作,例如缝合之类的。地址周榜新编程语言本周增长数一种正在开发中的编译型编程语言。地址资源监控本周增长数它是一个自托管的监控工具,类似于。 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:...

    番茄西红柿 评论0 收藏2637

发表评论

0条评论

最新活动
阅读需要支付1元查看
<