社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

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

KunMinX • 4 年前 • 139 次点击  
阅读 825

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

前言

很高兴和大家见面!

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

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

开源这个项目的初衷

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

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

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

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

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

viabus_flow_cn.png

对于多人参与的主干工程,我们需要确保 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)习(niu)交(ba)流(gua)截图:

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

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/33142
 
139 次点击