大物始于小:我是如何做到 GitHub star 在 5 天内从 0 飙至 666 的
本文由作者 KunMinX 原创,与 7 万进阶读者共同向上生长 ?
前言
很高兴和大家见面!
上周五我在掘金发表了 《真香警告:即使不用饿了么订餐,也请务必收藏好该库!》,文中主角 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…
《重学安卓》系列文章
重学安卓:Activity 的快乐你不懂!
重学安卓:Activity 生命周期的 3 个辟谣
重学安卓:绝不丢失状态的 Activity 重建机制
转载于:https://juejin.im/post/5cde5d7a51882525e968cdcd
大物始于小:我是如何做到 GitHub star 在 5 天内从 0 飙至 666 的相关推荐
- 分享:我是怎么在github上找到优秀的仓库的?
大家可以注意到,我经常向大家推荐优秀的github仓库,可能大家有疑问:怎么样找到优秀的github仓库呢?本文分享下我是怎么在github上找到优秀的仓库的? 通常情况下,在github上查找优秀的 ...
- 新的开始 | Arthas GitHub Star 破万后的回顾和展望
为什么80%的码农都做不了架构师?>>> 一切新的开始,都始于一个里程碑. 2月20日上午,Java 开源诊断工具 Arthas 的 GitHub Star 突破10000,距 ...
- 掘金翻译计划 GitHub Star 破3千--终于等到你
写在前面:谢谢你虽然身为开发者,仍然点开了这篇与技术无关的文章. 在掘金翻译计划 GitHub 粉丝突破一千的时候,我写了这篇文章,那个时候掘金还没有沸点,不支持原创,平台上也不能写文章,于是首发我只 ...
- 如何成为一颗 GitHub Star
GitHub Stars [1] 是 GitHub 目前还在 beta 阶段的一个项目,和我们平时在 GitHub 上给某个项目点个 star 没什么关系,按官网的说法-- 我很荣幸作为第一批上榜的 ...
- 我成了 GitHub Star
能够成为官方认证的 GitHub Star(明星)我和你们一样十分震惊!???? 可能很多读者不知道这个 GitHub Star 是什么,我先来介绍下它: GitHub Stars(明星)是 GitH ...
- 高效管理 GitHub Star,用这几个插件就能做到!
如果你是像我一样的 GitHub 深度用户,常年浸泡在论坛上,每次看到好项目就会随手留下 Star,久而久之,你应该就会发现,Star 过的项目到了千级甚至万级的地步. 这时,你应该就会面临跟我一样的 ...
- 开源应用诊断利器 Arthas GitHub Star 突破两万
一.Arthas Star突破2万啦 https://github.com/alibaba/arthas 随着微服务的流行,应用更加轻量和开发效率不断提升,但是带来的困境是线上问题排查越来越复杂困难. ...
- “作为女程序员,我成了国内唯一的 GitHub Star”
本文转载自 开眼Eyepetizer 2020 年,全球最大的开源社区 GitHub 将 Star Awards 颁给了一位中国女性程序员,羡辙.她也是目前中国大陆地区唯一一个获得该奖项的程序员. 在 ...
- 感谢有你!Apache DolphinScheduler 项目 GitHub star 突破 8k
本周伊始,Apache DolphinScheduler 项目在 GitHub 上的 Github Star 总数首次突破 8K.目前,Apache DolphinScheduler 社区已经拥有 C ...
最新文章
- hdu-1003 or 最大子序列和(四种解题方法)
- Sprint(第十天11.23)
- springboot接收JSONArray
- css3加载图片淡入效果
- 备战美赛,这些你应该知道的知识点
- “一云多芯、三V一体” 麒麟信安云融合虚拟化方案助力信创轻松上云
- java - 菱形输出
- linux kde中文输入法,linux 下的中文输入法是不是只能在KDE下啊?Gnome下有吗?名字?怎么装?...
- Alter index coalesce VS shrink space
- Windows 下mysqldump备份1045错误解决办法
- 1 CentOS 6下FastDFS实现分布式文件系统
- 创建向导时为其添加path,指为jar添加到path里面
- noip2019集训测试赛(二)
- SmartAdmin开源简单的门户网站管理系统
- 请说说自己对鲁迅本人他作品的了解计算机,“鲁迅作品复习”综合性学习试题及答案...
- ROS2与C++入门教程-在C++包里增加python支持
- 信息系统项目管理师2019年上半年上午试题解析(四)
- 关于利用Klayout查看GDS需要导入工艺库的layer properties file(.lyp)
- 基于单片机的测量心率脉搏健康系统设计与
- MapGuide应用程序示例——你好,MapGuide!
热门文章
- 今天带软件测试2班学员就业前的复习分析(2019-7-14)
- 云服务器搭建百度贴吧自动签到(贴吧云签到)较详细教程
- 微信小程序源代码_HiApp聊天工具
- [物联网篇 ] 15 -博通AP6255模块中WL_HOST_WAKE功能
- Linux搭建SVN服务器,并内网穿透实现公网远程访问
- 云时代下最强的“管理驾驶舱”制作方法,你学会了吗?
- 关于微信公账号H5 API 调用的坑 BUG
- stc8a_步进电机控制,加减速
- WebFlux客户端WebClient
- 新建maven项目时,Run中报警告:No archetype found in remote catalog. Defaulting to internal catalo在远程目录中没有找到原型。