最近的开源小经历与大感想

3,157 阅读5分钟

加入开源小组

最近一时兴起加入了 varlet的开源项目,群主耗子君很快给予了回应,速度之快令我目瞪口呆,原以为大佬们都会冷漠、忙碌,可望不可即。让我“入坑”源于掘金上一篇文章:Vue3 组件库 Varlet 开源两周年随笔,个人开源爱好者的两年开源历程。这篇文章和尤雨溪当初的经历让我觉得不要为编程而编程,也不要只是为工作而去敷衍的学,你得有更大的志向才能走得更快更远。不然拿什么抵御住工作中日复一日的消耗呢?只有“用爱发电”才能走出不一样的绚烂。 Description

尝试后才知道大佬和开源离我们并不遥远,甚至可以近到同城或异地奔赴相见聚餐,只要大家有共同的目标。耗子君用行动证明大佬也可以“看得见你”,我也证明开源大佬可以“看得见我”。虽然吧,目前为止我还是只做了微乎其微的小贡献,但是总算开始了开源的第一步。接下来会努力提高项目活跃度的!同时也发觉过去几年的自己是真的又菜又不努力。深刻反思ing。。。。最近已经连续几周推掉一切活动,专注学习和写代码!并且群里有好几个小伙伴带着我各种学,突飞猛进的感觉真是飞一般的爽~~

varlet小介绍

目前 varlet无任何盈利,仅有的一点打赏也只是来自群友内部的赞助(打破了我对开源都有很多赞助的认知,毕竟尤雨溪早都财富自由了,啊哈哈哈)。但不可否认它真的是个很优秀的存在,不但弥补了UI框架在移动端的稀缺选择性,更是为整个 vue 的生态添上了一抹亮色。连 vue 的原作者尤雨溪都在直播中点名夸赞。当然我也是因此才了解到这个UI库的。

如果想讨论/学习(又或者跟我一样单纯好奇开源和开源作者)的话,可以悄悄加 耗子君VX: qh357229046

Tips: 希望大家也能积极参与到开源的项目当中,多与同好讨论,真的会发现新大陆。有时候改变真的只是从一个小小契机开始的!!而且做项目是相当完整的一次学习机会和概览全局的过程。

1683519849497.jpg

什么是开源?

很多人对开源有误解,当然也包括曾经的我。

开源通常指开发者公开系统/应用程序源代码。通过对代码进行共享和重用,可以快速开发出高质量、低维护成本的应用程序。这意味着你不再需要花很多时间来学习新技术或编写复杂的代码。

一个优秀的开源项目应该有哪些特性?

(1)开源项目完成的功能很明确,且有完整的说明文档。小的、简单的开源项目,最好还能讲解一下项目架构,代码结构等。

(2)开源项目的代码结构清晰,代码抽象合理,文件名、变量名等命名合理易读。某一语言的项目最好遵循该语言的代码规范,比如Python的PEP 8或者GooglePythonStyleGuide,或者利用pylint等第三方检查库进行项目检查。

(3)开源项目的功能要具有通用性,比如各平台通用、各语言版本通用、各业务情形通用。这点要求就比较高,可能需要大量的测试人员去不断debug。

(4)有持续的贡献者,有持续的更新,有人对其负责。在Github上找开源项目时,如果最后更新日期在一两年前,我一般不会使用。

开源疯狂爱好者 Anthony Fu

今天了解 unocss 的过程中再次看到了 Anthony Fu,点开了他关于unocss的介绍再次激发了我对编程与开源的兴趣,同时了解了之前没了解过的开源的真实面目。开源不是简单把代码上传到 github 等平台上面就好了的,他还包括了一系列的流程。引用Anthony Fu的一段话:

我自己觉得开源不仅仅是你把代码公开出来就解决了,就是你今天做了一个项目,你要去想这个项目能够为大家带来什么样的价值,同样你这个项目要能够更好的去让大家做贡献。也就是你要把文档写好了,你要把contributionguide写好、参与贡献的一些指南、然后你要告诉大家这些功能怎么用,把注释写好,要把代码写的干净,这东西其实都算是开源很重要的方面,也会决定你这个开源最后做的是好还是坏”

做出一些对自己、对他人有用的东西才是学编程的意义所在吧,不然它存在的价值在哪里?尤雨溪也是典型的"学有所出"的代表。 想了解的可以看看他的采访: Vue、Vite核心成员Anthony Fu访谈(上)

关于前端:VueVite核心成员Anthony-Fu访谈下

他的commit记录比我命都长。开源狂热爱好者当之无愧。Github Description

结语与感想

  1. 如果比不上人家的天赋,那我想至少可以跟人家比比努力与勤奋的。最可怕的就是比你聪明的人还比你更加努力!
  2. 现在起提升github 的commit次数,争取比Anthony Fu次数多(质不能保证的话,就试着从“量”取胜吧)
  3. 互联网的繁盛让我们可以不必拘泥于现有的圈子,多与网络上的大牛学习&接触,才能提升的飞快
  4. 尝试做个对自己和他人有用的东西出来,有价值才是最重要的
  5. 群里的小伙伴告诉我:学习要多思考它怎么实现的,为什么这样做,它的原理是什么。。。。
  6. 互联网是个网,提升学习的深度和广度都很重要,知识是互相联结的,不要局限于技术语言本身