开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
今日推荐开源项目:《二维码上传文件 qrcp》
今日推荐英文原文:《Learning to Code? Fall in Love With Errors》
(这里放日报封面) (请检查,本文勾上了且只勾了《开源日报》这一个分类,请检查,有添加文章 Tag,请检查,有添加文章摘要,请检查,有添加特色图像,有添加bigger图片,有选中头图“布局设置”为占满屏幕的那张“第3张”) (请检查,预览时候,所有图片和文字显示正常,且勾上了百度熊掌号-原创提交) (请检查,本文的信息已经添加到 https://pm.openingsource.org/projects/daily/wiki日报摘要里,每个月的摘要信息单独发一个page,格式参照 https://openingsource.org/daily-index/2018-5/,标题,URL,正文等格式均需保持一致) (检查上述都完成之后,请删掉括号里的字,包括这一句,每天发布时间为早晨8点左右)
今日推荐开源项目:《二维码上传文件 qrcp》传送门:GitHub链接
推荐理由:该项目能让我们通过扫描二维码的方式利用Wi-Fi将文件从计算机传输到移动设备,而无需离开终端。
今日推荐英文原文:《Learning to Code? Fall in Love With Errors》作者:
原文链接:https://medium.com/better-programming/learning-to-code-fall-in-love-with-errors-e502ed4b4624
推荐理由:谁不喜欢找bug呢?

Learning to Code? Fall in Love With Errors

Don’t fear errors. You’ll become a better developer when you embrace failure

开源日报第756期:《二维码上传文件 qrcp》
(Photo by the author.)

Coding Can Be Frustrating

Let me share a personal story. I first started coding when I was 14. I liked playing computer games, so I assumed that creating them was a natural next step. For a bookworm used to learning things fast, learning to code didn’t seem like a big deal. So I bought a book about C++, downloaded a text editor, and started coding.

My first application was about ten lines of code. It didn’t work. I forgot about three semicolons in those lines. I got a little bit frustrated, fixed errors, and reran the program. It crashed again. This time, there was a typo. It took me almost an hour to make a trivial app work.

I stuck to coding for about two weeks. I just couldn’t handle the frustration of failing time after time. It took me over ten years to try programming again just because of some typos and missing semicolons.

开源日报第756期:《二维码上传文件 qrcp》
(Photo by Jackson Simmer on Unsplash.)

Things Go Wrong All the Time

I’ve been programming for five years now, and I’ve made some progress. Nevertheless, I still get stuck almost daily. The thing is, programming is hard. And as we all know, everything that can go wrong will go wrong. It’s only a matter of time.

For programmers, buggy code is a natural state of things. Whether it is some unhandled error in nested asynchronous code or a missing semicolon, mistakes happen all the time.

Change Your Perspective

As an aspiring developer, you have to prepare for numerous setbacks. You have no choice but to befriend failure. As the infallible Samuel Beckett wrote:

“Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.”

Although Beckett probably had something bleak in mind, the quote is a piece of sound advice for beginner developers.

But I know better than to think that one inspirational quote will be enough to convince you that failure is OK. So I’ll demonstrate how you can like errors or maybe even fall in love with them with a mindset shift.

开源日报第756期:《二维码上传文件 qrcp》
(Photo by Nadine Shaabana on Unsplash.)
Here are some common attitudes towards errors and tips on how to reframe them.

“That error is stupid.”

Maybe. Some errors are stupid. But someone put them there for you as a clue about what went — or could go — wrong. Errors are there for you to understand what’s happening and they usually go with helpful advice.

Imagine having real-life error messages. For example, your partner seems angry at you, but you have no idea why. Thanks to excellent error implementation, you get a text message saying, “429 Too Many Requests.” Now you know she’s just tired, so you should try to help instead of wondering what you’ve done wrong. Wouldn’t that be helpful?

“Another error? That’s enough.”

I’m sure you know the feeling. You’ve spent lots of time fixing an error. Now the code has to work. And it works! But two lines below… there is another error. It looks like you’re stuck in an endless cycle of new errors.

But is that a bad thing? That’s a new error. A unique opportunity to expand your knowledge. As long as your errors are changing, you’re making progress. If you’re failing, you’re learning something. When your code is perfect, you’re in your comfort zone and learning nothing.

So try a different approach. Next time you encounter a brand new error, say to yourself, “That’s interesting. I’ve never seen that error before.” Let’s see what you can achieve with such a mindset.

“That bug is hard. I’ll start with something else.”

This is the tricky one. You can easily convince yourself that it’s reasonable to warm up with something easy and then get to the real business. But be careful — maybe you just want to procrastinate and avoid another failure.

You have the best chance for a breakthrough when you are rested. Try starting with the most challenging task. Don’t worry if you fail. At least you may learn something new.

“I’ve wasted three hours on that error and have gotten nowhere.”

So what? Nobody’s hurt. You’ve merely “wasted” some time. But did you really waste it? Maybe you just learned something.

Now you know some approaches don’t work. If you’re lucky, you may even have some idea about what may work. That’s how you make progress. Embrace the failure, feed on it.

Also, imagine the satisfaction when you eventually solve the problem. Be proud of your achievements.

“I’m tired of this. I need to rest.”

This one is productive. More often than not, taking a break is an excellent idea if you’re stuck. Try taking a walk, chatting with a coworker, or anything else that will help you reset. The problem is unlikely to get more serious while you’re taking a break.

I’ve got one extra tip: If you’ve rested and still can’t solve the issue, try tackling it right before going to bed. You may think your brain is resting while you’re sleeping, but in reality, it’s working hard. So there is a fair chance you’ll have your solution just after you wake up.


下载开源日报APP:https://openingsource.org/2579/
加入我们:https://openingsource.org/about/join/
关注我们:https://openingsource.org/about/love/