开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
今日推荐开源项目:《字体展览 beautiful-web-type》
今日推荐英文原文:《How You Can Improve Your Programming Skills》

今日推荐开源项目:《字体展览 beautiful-web-type》传送门:GitHub链接
推荐理由:这个项目收集了许多开源字体并展示它们——用了一种简单直白的方式。既然要展现一种字体,最好的方法就是写出来,项目网站上每个字体都用一种风格占据了页面的一部分,并且在详细介绍页将这种字体在常用的各种用法下的效果都表现了出来,作为介绍字体的页面可以说相当吸引眼球,而且的确有许多美观的字体可以使用(尽管没有中文字体)。
今日推荐英文原文:《How You Can Improve Your Programming Skills》作者:Indrek Lasn
原文链接:https://medium.com/better-programming/how-you-can-improve-your-programming-skills-a439d47c26a4
推荐理由:坚持学习总是不会错的

How You Can Improve Your Programming Skills

Programming is a skill where you can constantly improve and learn new things

Programming is one of those crafts where you can never know everything. It’s literally impossible to know everything across all topics related to programming since there is so much information out there. If you’re struggling to stay sane knowing this, know that it’s probably best to keep your head to for new information and be comfortable with the fact that you can’t possibly know everything, albeit you can definitely improve each day. Here are four ways you can achieve that.

Code Every Day

Coding is a skill like any other. It requires a ton of practice and effort to get good at it. Not a single person woke up one day and suddenly became good at programming. All the good engineers worked countless days and nights to perfect their programming skills. Make it a habit to code each day, no matter the project or the programming language — what matters is you actually do it each day.

Photo by Lee Campbell on Unsplash

Oh, and don’t just write code. Try to read other programmers’ code, talk about code, and try to find experts to review your code. Programming is a skilled craft, and you don’t get good at a craft just by learning the rules. You get good through practice and reflection.

Learn Multiple Programming Languages

There’s a reason why universities and schools introduce multiple programming languages for their curriculums. Coding knowledge transfers over languages. For example, being familiar with Javaclass and object-oriented programming makes you more prone to understanding concepts for the Swift programming language since the same coding concepts apply to both.

Photo by Kobu Agency on Unsplash

Programming started to really click when I learned different concepts from multiple languages. I learned about structs from Swift, functional programming from JavaScript, object-oriented programming from PHP — you get the idea. Combining all the bits and pieces across multiple languages definitely helped me solidify the bigger picture and made me better at programming. Don’t get stuck in a small corner. Try to explore the unknown, and often. It’s okay to feel like you don’t know something. After all, that’s the only way we can learn, by absorbing new information.

Teach and Help Other Programmers

Have you heard about the protégé effect? It’s a fun way to learn by teaching others. The protégé effect is a phenomenon where teaching or preparing to teach information to others helps a person learn that information.

Teaching a subject means you’ve got to take on a different perspective since you’re not familiar with the depth of how much the student knows already. Therefore you have to assume the student doesn’t know much about the topic, which means you have to start teaching from the very fundamentals. The only way you can teach fundamentals is by knowing the fundamentals inside and out.

Photo by stem.T4L on Unsplash

One way of learning by teaching is plastic platypus learning or platypus learning techniques. This technique is based on evidence that shows that teaching an inanimate object improves understanding and knowledge retention of a subject. The advantage of this technique is that the learner does not need the presence of another person in order to teach the subject. Read more about the topic on Wikipedia.

Plastic platypus learning in action — https://en.wikipedia.org/wiki/Learning_by_teaching

You can start small. Pick up a GitHub issue and try to help one person every day. I like to answer one question per day on StackOverflow just to learn and help every day as much as I can.

Conclusion

Programming is fun, albeit hard to master. Ask yourself: If you really want to master programming, are you willing to put the extra effort in? You know the answer by now.

Thanks for reading, stay awesome.
下载开源日报APP:https://openingsource.org/2579/
加入我们:https://openingsource.org/about/join/
关注我们:https://openingsource.org/about/love/