1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 适合初学者的安卓开源项目_开源世界中初学者的颠簸之旅

适合初学者的安卓开源项目_开源世界中初学者的颠簸之旅

时间:2023-12-18 21:47:48

相关推荐

适合初学者的安卓开源项目_开源世界中初学者的颠簸之旅

适合初学者的安卓开源项目

by Shubheksha

通过Shubheksha

开源世界中初学者的颠簸之旅 (A Beginner’s Very Bumpy Journey Through The World of Open Source)

Did you land on this story looking for advice on how to start contributing to open source? There are tons of these stories on the inter-webs, aren’t there?

您是否在这个故事上找到了有关如何开始为开源做贡献的建议? 互联网上有很多这样的故事,不是吗?

And I am sure you must have read a lot of them by now, because you’ve been trying to start contributing for quite sometime. And you still feel like you’ve not progressed at all.

而且我敢肯定,到现在为止,您一定已经阅读了很多,因为您已经尝试了一段时间了。 而且您仍然觉得自己根本没有进步。

I get that feeling. I was in the exact same position until a few weeks ago. Let me tell you my story.

我有那种感觉。 直到几周前,我一直处于完全相同的位置。 让我告诉你我的故事。

I’ve been trying to contribute to open source for about two years now.

大约两年来,我一直在努力为开源做贡献。

Yes. Two years.

是。 两年

And there is one thing I can tell you with a lot of certainty — it’s intimidating. It’s tough to get started. You have to learn how to work within a large code base. You have to learn and adhere to a project’s coding style guides.

我可以肯定地说一件事-这是令人生畏的。 入门非常困难。 您必须学习如何在大型代码库中工作。 您必须学习并遵守项目的编码风格指南。

Nothing makes sense. The control flow, how different modules interact, how and why the code is organized the way it is — it’s all one big maze.

没有任何意义。 控制流,不同模块之间的交互方式,如何以及为什么将代码按其原样组织-都是一个大迷宫。

I feel like this all the time because I am, after all, just an amateur trying to learn as much as I can.

我一直都这样,因为毕竟我只是一个尝试学习尽可能多的业余爱好者。

So I tried to take the easy way out: fixing typos in docs or comments in the code, doing trivial bug fixes because it was obvious what needed to be changed and where. I didn’t want to ask too many questions or try to understand the code base.

因此,我尝试采取一种简单的方法:修复文档中的拼写错误或代码中的注释,进行小规模的错误修复,因为很明显需要更改的内容以及更改的位置。 我不想问太多问题或不想理解代码库。

Every time I wanted to contribute, I went to Github — or any bug tracker — and tried searching for issues with labels “easy”, “beginner”, “good first bug”, “low hanging fruit.” After sifting through hundreds of them, I found something trivial enough to do without any major external help.

每当我想贡献自己的力量时,我都会去Github或任何bug追踪器,并尝试搜索带有“易”,“初学者”,“好第一错误”,“垂头丧气”标签的问题。 在筛选了数百个之后,我发现在没有任何主要外部帮助的情况下,一件微不足道的事情可以做。

Now, this worked for a while, until I realized that I could make better use of the skill set I was building up. I’d learned so many new things, but I couldn’t figure out where to apply them. Just learning — without applying — counts for very little. I was stuck on a plateau, and I wasn’t moving forward at all.

现在,这工作了一段时间,直到我意识到我可以更好地利用自己建立的技能。 我学到了很多新东西,但是我不知道该在哪里应用它们。 仅学习而无需申请,几乎没有任何意义。 我被困在一个高原上,我根本没有前进。

Then something happened that made me terribly scared about being a new contributor, trying to wade my way through the world of open source. I picked out an issue that seemed easy enough from a large, popular project.

然后发生了一些事情,使我非常害怕成为新的贡献者,试图在开放源码的世界中徘徊。 我从一个受欢迎的大型项目中挑选了一个看起来很容易的问题。

I thought it would be better to ask clarifying questions before making any changes for fear of messing up. So I posted a comment saying that I was a new contributor, and asking how a particular piece of text should be altered so as to close the issue.

我认为最好在进行任何更改之前先问清楚问题,以免造成混乱。 因此,我发表了评论,说我是一名新撰稿人,并询问应如何更改特定文本,以解决问题。

The reply I got was: “If you can’t figure out how to make the change, you’re not qualified to make the change.” This response baffled me, and made me even more scared to ask questions when I didn’t understand something about a project.

我得到的答复是:“如果您不知道如何进行更改,那么您就没有资格进行更改。” 这种回应让我感到困惑,当我对某个项目一无所知时,我甚至更害怕问问题。

Maybe I wasn’t wanted because I didn’t know enough? Maybe I needed to work more on my skills instead of asking stupid, lame questions to experienced people who’re super busy?

也许我不想要是因为我不够了解? 也许我需要更多地提高自己的技能,而不是向超级忙碌的有经验的人问愚蠢而me脚的问题?

This is when my quest for a mentor began as well. I felt that maybe if I knew someone with whom I was comfortable asking questions, things would be OK and I can make myself more useful.

这也是我寻求导师的开始。 我觉得也许,如果我认识一个很愿意和我一起问问题的人,那一切都会好起来的,我会让自己变得更有用。

So I emailed a bunch of people, asking them to help me get started since I was feeling particularly intimated after the aforementioned experience. I received a lot of positive replies full of encouragement, but I still didn’t find exactly what I was looking for.

因此,我给一群人发送了电子邮件,请他们帮助我入门,因为在经历了上述经历后,我感到特别亲密。 我收到了很多充满鼓励的积极答复,但我仍然找不到我想要的东西。

I felt like I was bumping into aclosedenvironment in the world ofopensource.

我觉得我是撞上在开源的世界里一个封闭的环境。

Everything seemed to suggest that I just put myself out there and not be scared. But I just wasn’t up for this at the time.

一切似乎都暗示着我只是把自己放在那儿,并不害怕。 但是我当时并没有为此而努力。

发现Mozilla(Discovering Mozilla)

I landed on this Mozilla project which helps you test web extensions one fine evening searching for issues to work on. I was glad to find a few issues labelled as “good first bugs”, but none of them were as simple as fixing a small typo.

我进入了这个 Mozilla项目, 该项目可以帮助您在一个不错的夜晚测试Web扩展,以查找需要解决的问题。 我很高兴找到一些标记为“良好的第一错误”的问题,但是没有一个问题像解决一个小的错字一样简单。

Boy, I am so glad about that right now.

男孩,我对此感到非常高兴。

I started working on one of them, but quickly realized that Ihadto ask questions if I wanted to be able to close the issue. I skimmed through the code base. Once I had some sense of what was going on, I asked for more direction. And voilà! I was able to solve the issue after getting all the relevant details I needed.

我开始研究其中之一,但很快意识到如果我想能够解决问题,就不得不问一些问题。 我浏览了代码库。 一旦对发生的事情有了一些了解,我便要求更多的方向。 和瞧! 获得所需的所有相关详细信息后,我便能够解决该问题。

Now that I’ve opened three pull requests — one merged, and the other two on their way to being merged — I’m glad I took the plunge. I’m glad I didn’t back down when it came time to ask relevant questions, even if it meant risking looking stupid sometimes.

现在,我已经打开了三个请求请求-一个已合并,另外两个正在合并中-我很高兴我尝试了一下。 我很高兴当我问有关问题的时候并没有退缩,即使这意味着有时冒着看起来很蠢的风险

It’s okay to not know everything, and take one step at a time to learn something new.

不了解所有内容,一次迈出一步,学习新知识是可以的。

The folks at Mozilla mentoring these issues have been nothing less than super helpful and supportive. They’ve guided me all the way, taking time out to break things down and explain them in incredible detail. This is despite the fact that they could’ve fixed these issues themselves in a few hours instead of spending time mentoring me toward a solution of my own over the course of several days.

Mozilla指导这些问题的人们无非是超级有帮助和支持的。 他们一直指导着我,抽出时间来分解事物,并以令人难以置信的细节对其进行解释。 尽管事实是他们可以自己在几个小时内解决这些问题,而不是花几天时间指导我寻求自己的解决方案。

I’ve learnt and discovered so many new things by working on just three basic issues. And I’m super excited to work on even more challenging bugs and expand my understanding and knowledge.

通过研究三个基本问题,我已经学习并发现了许多新事物。 我为能够解决更多具有挑战性的错误并扩展我的理解和知识感到非常兴奋。

I can’t thank them enough for being such a positive experience, because it led to setting up Firefox locally and scouring for bugs on Bugzilla every other day. (I’m saving the how’s and why’s for a more in-depth post).

我对他们的这种积极经历深表谢意,因为这导致了本地设置Firefox并每隔一天就寻找Bugzilla上的错误。 (我保存了方法和原因,以便进行更深入的介绍)。

I plan to continue contributing to Mozilla as regularly as possible. Every time I’ve asked a relevant question — be it on IRC, Github or Bugzilla — I’ve gotten a very friendly response.

我计划继续定期为Mozilla做出贡献。 每次我问一个相关的问题(在IRC,Github或Bugzilla上)时,我都会得到非常友好的答复。

As of now, I’ve closed three issues in web-ext, and gotten a patch accepted and landed for Firefox.

截至目前,我已经解决了web-ext中的三个问题,并为Firefox获得了补丁并可以使用。

My contributions were noticed by the community, and I made it into the Addons Contribution Recognition document, as well.

我的贡献得到了社区的关注,我也将其纳入了Addons Contribution Recognition文档。

All in all, my experience over the past few weeks has been nothing short of wonderful. I’ve learned so many things, big and small, that no engineering textbook can ever teach me.

总而言之,我过去几周的经历简直是绝妙的。 我已经学到了很多大大小小的事情,以至于工程学教科书都无法教给我。

我对想要为开源做出贡献的新手开发人员的建议: (My advice to fellow beginning developers who want to contribute to open source:)

提示1:不要害怕提问。 (Tip 1: Don’t be afraid to ask questions.)

I can’t stress on this enough. I lost a lot of time because I kept holding myself back, and this was my biggest inhibition.

我对此不够强调。 我浪费了很多时间,因为我一直束手无策,这是我最大的压抑。

Everyone is scared of looking stupid. But don’t let that crippling fear result in stunted growth.

每个人都害怕看起来很愚蠢。 但是,不要让那种残酷的恐惧导致增长停滞。

It’s okay to ask if you don’t understand something related to the project. The maintainers of the project have been well-versed in the project for years. They can help you fairly quickly. The alternative is you spending hours lost in their codebase trying to figure something out that you’re not even supposed to know in the first place.

可以问您是否不了解与该项目有关的内容。 该项目的维护者已经精通该项目多年。 他们可以很快为您提供帮助。 另一种选择是,您花费大量时间在他们的代码库中,试图弄清您根本不应该知道的东西。

But be careful about asking for information that is already readily available to you via some documentation or Google searches. You want to be respectful of project maintainers’ time.

但是请小心,要求您通过某些文档或Google搜索提供给您的信息。 您想尊重项目维护者的时间。

提示2:可以在知识上有所突破。 (Tip 2: It’s OK to have holes in your knowledge.)

You’re not expected to know everything in and out if you want to start contributing to a project. The idea is to learn and grow as you start solving harder issues becoming more familiar with the project and the tooling they use. The time it takes for this to happen varies from project to project and person to person.

如果您想开始为一个项目做贡献,那么您就不会了解一切。 这个想法是在您开始解决更棘手的问题时变得学习和成长,从而对项目及其使用的工具更加熟悉。 进行此操作所需的时间因项目而异,因人而异。

提示3:刚开始 (Tip 3: Just start)

Don’t waste a lot of time choosing the “right” project. If you know a project or a organization with a beginner-friendly community, just start there.

不要浪费很多时间来选择“正确的”项目。 如果您知道一个项目或组织中有一个适合初学者的社区,则从这里开始。

Find an issue you’re comfortable taking up — preferably in a language you’ve been working with for a while — and try to figure out what needs to be done. Ask for the relevant information to fill the gaps in your knowledge, then get to work. Don’t wait.

找到一个您愿意接受的问题-最好使用您已经使用一段时间的语言-并尝试找出需要做什么。 询问相关信息以填补您的知识空白,然后开始工作。 不要等

谢谢开源维护者! (Thank you, open source maintainers!)

A huge shout-out to all the open source maintainers who have been super responsive and encourage of new contributors. You are helping newcomers navigate huge code bases and contribute in maybe a small yet meaningful ways. Your efforts are truly appreciated and needed.

向所有超级响应并鼓励新贡献者的开源维护者大声疾呼。 您正在帮助新手导航庞大的代码库,并可能以较小但有意义的方式做出贡献。 您的努力是真正的赞赏和需要。

As a newbie and a junior developer, I’m just trying to find my way through this vast and incredible tech industry. A few minutes of your mentorship — be it being introducing to a simple debugging technique or showing me how to write proper test cases — will help me become a better developer in the long run.

作为一个新手和初级开发人员,我只是想在这个庞大而令人难以置信的技术行业中找到自己的出路。 几分钟的指导–是向您介绍一种简单的调试技术,还是向我展示如何编写适当的测试用例–从长远来看将帮助我成为更好的开发人员。

You have the experience, and I have the incessant desire to learn as much as I can.

您有经验,我一直渴望尽可能多地学习。

A special thanks to Guido, Kumar McMillan, and Luca for being amazing mentors throughout this journey, following up every time, and answering my various questions. I really appreciate all the time and effort you’ve invested in me. :)

特别感谢Guido , Kumar McMillan和Luca在整个旅程中担任出色的导师,每次都跟进,并回答了我的各种问题。 我非常感谢您为我投入的所有时间和精力。 :)

If you’re a fellow struggling newcomer to open source, I’d like to hear about your experience and story. If I can help you in any way, please don’t hesitate to reach out!

如果您是在开源方面苦苦挣扎的新手,我想听听您的经验和故事。 如果我可以以任何方式帮助您,请随时与我们联系!

I plan to document my journey of contributing to open source, so if there is anything in particular you’d like me to write about, please drop a comment.

我打算记录一下我为开源做贡献的过程,因此,如果您有什么特别想让我写的,请发表评论。

Thanks to Pawan Dubey and Quincy Larson for helping me refine this article.

感谢Pawan Dubey和Quincy Larson帮助我完善了本文。

If you found it useful,please tap or click “︎❤”to help to promote this piece to others.

如果您觉得有用,请点按或单击“︎❤”以帮助将此作品推销给他人。

翻译自: /news/a-beginners-very-bumpy-journey-through-the-world-of-open-source-4d108d540b39/

适合初学者的安卓开源项目

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。