IMaskjs-开源三年

图片

大家好!

自从我开始研究imaskjs库以来已经三年了。 尽管开源是一个永无止境的过程,但是可以说,总体而言,这项工作已经完成并转移到了缓慢的错误修正中。 此刻,我做了我想做的所有事情,除了编写测试,没有其他想法,但是懒惰。

这不是一个简单的方法:很多时候我想放弃一切,很多时候我都认为一切都已经完美了。 现在一切都平静了下来,我可以以镇定自若的心和清晰的良心记住过去的情况,并对是否值得和为什么这样的问题进行哲学思考。

背景知识


一切都始于这样一个事实:为了工作,我们需要一个库来掩盖各种形式的各种字段。 掩码的格式是从外部系统给出的,验证已经在后端,但这还不足以进行令人满意的测试。 事实证明,很少有人是现有的掩膜解决方案。 我们与他们作战了很长时间,分叉了,完成了,发现了一些bug。 结果,我们从未达到理想的目标,但是每个人都同意我们拥有的东西,而我们却忘记了。 但是,在我看来,这里出现了问题-实际上,情况应该有所不同。 我看到了几乎所有流行的库的源代码都有很多改进的地方,那么为什么不编写自己的解决方案呢? 看到其中的结果真是太有趣了,但是这个想法似乎很疯狂。 现在,我知道对新业务的恐惧是一个好兆头。

关于是否写自行车有很多争论。 就我而言,我还不确定:半年前,当我刚开始在公司里从事开发工作并被认为是初级人员时,似乎没人需要它,这只是时间的浪费,周围没有人写这样的东西,也许最好去挣更多的钱...是的,我浪费了很多时间,我对工作不满意,也没有从中赚钱。 但是我敢肯定这绝对值得。 我想谈谈这个。

动机


自己的项目给学校带来天真和粗心,这是一种感觉,当您完全沉浸于此过程中时,您的手会发痒,眼睛发烧,周围没有其他东西。 太棒了 当然,据我所知,我不可能一直都在使用该库,这不是必须的,而是,您需要在发布之间给社区时间,以听取反馈并调整开发载体。 但是,当我回到开发领域时,同样的感觉又重新出现了,兴趣并没有消失,也没有理由停下来。 也许有人对这项工作比较幸运,但是我的工作很快就变成了例行工作-企业界相当单调乏味。 而且您停留的时间越长,经验就越多,日常工作也越多。 他们的项目可以节省资源,并且不会耗尽精力。 当然,这不一定是开源的,但更容易引起关注和获得反馈。

人格与社会


我认为交流和反馈对于项目和个人发展都至关重要。 当您不参加社交活动时,不清楚您是谁,该做什么,很难从外部评估自己和成就。 没有这个,就很难成长。 而且,该项目的价值很难单独评估。 以前,我想以为我不在乎社会的意见,我不需要任何人,这并不重要。 我本来可以坐下来,但是幸运的是,对github上成名和明星的渴望变得更加强烈。 幸运的是,此事不仅限于此。 但是当其他人开始发表意见时,这意义重大-如果某人发现缺陷或启动了错误,您就会大惊小怪并尝试更快地修复它,以便其他人看不到-在5分钟后推出新版本-但没有测试,甚至更进一步。 而且,当您发表文章时,通常晚上无法入睡。 也许我有点夸张,但总的来说-这个项目有一个马戏团,脑海里有个疯人院,每个版本都很沉重。 现在,所有这些都引起了微笑,但我认为,许多不关心他所做的事情将不得不经历。

就像在任何行业中一样,外部因素的影响会逐渐减小,我想了解一下,您确实做了一些有价值的有用的东西,或者另一个将在六个月内淘汰的糖果包装。 您逐渐习惯了与人定期进行交流,您已经希望不只是连续地从每个人那里得到反馈,而是要从真正从事该学科并且最大程度地利用图书馆功能的人们那里得到反馈。 人们的意见很重要,但这只是工作时间。

另一方面,不应高估社会观点。 当您刚开始时,一切似乎都对您不利。 既不谢谢也不做得很好,只是事实并非如此,事实并非如此。 我以为自己做的很棒,本可以投入我的灵魂,现在每个人都应该钦佩,但只能作为批评。 对我来说这是一个痛处,我还没有准备好采取这种态度,起初我对这些言论反应非常敏锐,试图为自己辩护。 然后我开始注意到人们很正常,我不了解他们,我有点沮丧,甚至道歉。 但是,如果没有经验,那么您首先必须捍卫自己,否则您的双手可能会掉下,一切都将一事无成。

同样,从维护者的角度来看,需要区分人们的动机。 每个人都有自己的见解,每个人都错了。 因此,您需要筛选提示,尤其是那些试图追求个人利益的人。 有人认为应该以不同的方式完成所有工作,例如在我的情况下:

  • 伙计,为什么只有当焦点聚焦时才能开箱显示面具?
  • 为什么默认日期仅适用于dd.mm.yyyy格式(这不是最常见的格式),但是对于其他格式,则有必要扭曲序列化?
  • 哪里可以买到巴西手机的面具?

等等
问题是,作为一个人,我对项目有自己的看法,这完全正常。 图书馆是公共领域的事实并不意味着它绝对适合所有人,您需要尝试取悦所有人。 人们可以观察到,在社会的影响下,如何将某些项目简单地沿不同方向拉开,剥夺了完整性,从而导致混乱,错误,并且通常导致项目缓慢死亡。 不过,对我自己而言,我试图解决社会的需求,尤其是当它们开始重复的时候。 但是解决方案不一定是对库本身进行更改,它可以是示例代码,一段文档或代码中的注释。 刚才,我正在考虑向文档中添加常见问题的示例,例如上面的问题。 但是在开始时,我也对此类问题做出了非常敏锐的反应,认为它们是不合适的,并且在某些地方可能是愚蠢的。 这种行为的原因之一是我也想强加自己的观点。 因为我的图书馆是最好的!

成为最好的


这不可避免地引起冲突。 时间已经过去,但是我仍然认为我的图书馆很漂亮,这个想法和实现简直是太棒了! 不要用言语形容!!!! 1但要注意的是:这对我和处于类似情况的人都是最好的。 不可能有一个通用的库来存储所有内容:总是有一些特殊性和特殊情况。 对于各种情况有如此多种解决方案,这真是太好了,一个人不仅可以被踢开,而且可以得到更适合他的东西。 不幸的是,在所有这些田园诗中通常只有一刻被遗忘:不建议质量。 我承认我写了很少的测试。 但是有必要严格区分口味和生产错误,尤其是在设计阶段。 您不能与质量妥协-在这里,您可以真正接受完美主义者的喜好并从中获得乐趣。 好吧,是的,您必须重写一次,也许两次,否则可能会破坏API。 但是我相信,如果明智地采取行动,总体上对人和项目都是有用的。 无论如何,我为自己得出的结论-“一切都有其利基”-在任何地方都对我有帮助。 我可以肯定地说,生活变得更加轻松。 当您开始与人进行正常沟通时,您会发现很多人确实希望提供帮助,并开始欣赏这种帮助和关系。

关系


人们正在回应。 对我来说可能是最有价值的。 我遇到了真正对他们的工作感兴趣的人并与他们保持联系。 与您建立关系的人很少,甚至更少。 开源以一种或另一种方式提供了这样的机会,并且慢慢地组建了一个团队来激发一些非常酷的事情。 还有什么其他选择? 如果我真的想投资于我所做的事情,而不仅仅是花钱买床头柜,请复制另一份CRUD或界面表格。

得益


痛的话题。 我觉得并不是每个人都会喜欢我在这里写的东西,但是我不得不说我不喜欢它,并且我不同意用金钱来评估一切。 钱是好的,但不是一开始。 如今,对金钱,声望等外部事物的重视过于偏颇。 看来,如何获得他们并没有区别,如果他们付钱的话,那很好。 这仅导致以下事实:质量丢失,保留了漂亮的糖果包装,但是含义却丢失了。

起初,我还以为他们会为我牺牲并为我而活,但随后优先事项发生了变化。 顺便说一下,经过3年的发展,他们给了我3,500卢布(俄罗斯卢布,KARL!),其中3,000是由一个好人捐赠的,我对此深表感谢。 不是很多 但是上面我写了很多在项目开发过程中获得的价值观。 我忘了要说的另一件事是,各种规模的公司提供的许多工作机会都落在我身上。 如果您想找工作或换工作,那么开源是谈论自己的好方法。 所以总的来说,我发现它是有利可图的。 自己决定什么对您重要并确定优先级。 我不希望这变成另一份工作,所以我没有专注于此。 我喜欢其他开放源代码,即开放,自由,意识形态,热情和动力。 我可能会摇晃它,也不会用钱稀释它。 虽然也许我不知道会做饭。 也许Sitnik会教书。

Source: https://habr.com/ru/post/zh-CN451044/


All Articles