开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
今日推荐开源项目:《MC mc.js》
今日推荐英文原文:《20 Things That Are Good to Know When You Start Web Developing》

今日推荐开源项目:《MC mc.js》传送门:GitHub链接
推荐理由:Minecraft 是个超自由的游戏,但是要在电脑上启动它似乎还是没那么便利的,这个项目就解决了这一点——浏览器!MC!最佳组合!在浏览器上也能运行的 MC,足以让你方便快速的安利给其他朋友们(当然了,要等它发展到完全版),不过随着这个项目的发展,总有一天能追上 PC 端的版本。
今日推荐英文原文:《20 Things That Are Good to Know When You Start Web Developing》作者:Daan
原文链接:https://medium.com/better-programming/20-things-that-are-good-to-know-when-you-start-web-developing-82f6c81b84a
推荐理由:从零开始做 Web 开发者的心得指南

20 Things That Are Good to Know When You Start Web Developing

When I started with web development, there were a lot of things that I didn’t know that would have been good to know. In hindsight, a lot of the expectations I had weren’t even close to the real situation. In this piece, I’ll tell you about 20 things that are good to know when you’re about to start, or have just started, your web development career. This will help you manage expectations and set you on the right path.

1. You don’t need a degree to program

To start programming you don’t need a degree. Most things can be found on the internet, especially the basics. You can teach yourself how to program all by yourself, with some help from the internet.

2. Googling is a skill

Since you just started web development, you don’t have all the knowledge that’s required to solve certain problems yet. This is totally fine, and it doesn’t mean that you can’t solve these problems. Knowing how and what to google is a serious skill that can save you a lot of time.

3. You can’t learn everything

There is so much to learn. Just take a look at all the different popular JavaScript frameworks that exist: React, Vue, and Angular. You can’t learn them all. And there is probably no need to learn them all, either. Just focus on the JavaScript framework that you like the most or your company works with.

4. Writing easy code is the hardest thing to do

Most relatively unexperienced developers write fancy code. This is a way of showing off and letting other developers know how well they can code. This is not what you should do. Keep your code as simple as possible.

5. There’s no time for proper testing

From my experience, developers are kind of lazy when it comes to testing their work. Most developers will agree that testing is not the most fun part of their job. In the end, you’re a developer who tries to make stuff, not break it.

And then we have deadlines. Most of the time, you have to deal with a deadline. Once there’s the slightest idea of missing the deadline, one of the first things that get sacrificed is testing. This really happens, even though everybody agrees that it’s not good for the end result.

6. Time estimations are never even close

It doesn’t matter if you are estimating a feature in hours or giving points to a user story during the refinement. Estimations in software development are never even close! There’s always going to be this one little feature that you think you can build in one hour. Once you’ve opened the code, you realize that you have to restructure a big part of the application to get this little feature to work. Well, so much for that time estimation.

7. You’ll feel ashamed when you look back at your old code

When you are just starting out as a developer, you just really want to fix things. If the code works, it’s fine. To inexperienced developers, working software and good software are considered the same. But as you grow as a developer, you will eventually look at some old piece of code and think, Did I really write this spaghetti code? Well, there is really just one thing that you can do in this type of situation: Have a good laugh about it and clean up the mess that you made earlier.

8. You’ll spend way too much time looking at bugs

Debugging your code is a big part of your job. Writing bug-free code is impossible, especially when you’re not that experienced. The thing that makes debugging time-consuming for inexperienced developers is that they don’t know where to look. And sometimes they don’t even know what to look for. The worst part is that a lot of the time, you’ve created these bugs yourself.

9. Internet Explorer is the worst browser that was ever created

Internet Explorer, also referred to as Internet Exploder, will make you feel bad about all the CSS that you’ve written. Even the most basic styling will break in Internet Explorer. At some point, you will ask yourself why there are so many different browsers. Most companies will work around this problem by only supporting Internet Explorer 11 and newer, which helps.

10. Work stops when servers are down

Eventually, the development server or version control server will go down. If you’re not working on your local machine, this means that you can’t do anything. And there is nothing you can do about it. Well, time for a coffee break, I guess.

11. You’ll pretend that you understood everything your colleague said

You will at least once have a conversation with another developer who is super-excited about a new technique or tool. You end up agreeing to most of what the other person said. But the truth is that you didn’t understand most of that conversation.

12. You don’t need to memorize everything

Programming is all about applying knowledge. There is no need to memorize everything. You can always look for a resource on the internet. You just have to know where to find the right resource. Memorization will come while you work on projects and once you get more experienced.

13. You need to be a good problem solver

And on top of that, you need to be creative. Programming is all about solving problems. The same problem can be solved in multiple ways. Creativity comes into play to solve problems in an easy and effective way.

14. You will be reading a lot

A lot of your time will be spent reading. Reading about new techniques, best practices, tooling, and staying up to date with things that happen in the industry. And let’s not forget about books. Reading is a great way to expand your knowledge and stay up to date.

15. Responsive can be a pain

Trying to get your website to look awesome on all devices can be a real pain. Since there are so many different devices and browsers, there is always a combination of a browser and device that doesn’t look great.

16. Knowing how to debug saves lots of time

Debugging can be very time-consuming, especially when you don’t know where to look or what to look for. Having a good understanding of how your code works and mastering the tools to debug will save you a lot of time. A good way to improve your debugging skills is to learn how the developer tools in your browser work.

17. You’ll be looking at suggested solutions that won’t work for your problem

When you run into a problem that you don’t know how to solve, you will probably google for an answer. Most of the time, you’ll find suggested solutions on forums, like StackOverflow, that will give you a good push in the right direction. But also most of the time, the suggested solution can’t be simply copied and pasted to solve your problem. This where your problem-solving skills and creativity are needed.

18. A good IDE will make your life much easier

Before you start typing any code you should spend a little bit of time on searching a good IDE. There are a lot of good IDEs, both free and paid, out there, which will make your life as a developer a lot easier. IDEs can help you out with syntax highlighting and showing syntax errors. Most IDEs support plugins that allow you to customize your IDE.

19. Working with the terminal can make you more efficient

If you are used to using a Graphical User Interface (GUI), working with the terminal might seem kind of intimidating at first. But knowing your way around the terminal can make you more efficient. The terminal is a very powerful tool that makes it possible to complete tasks much more quickly than you could with graphical tools. Working with the terminal is something that you should really want to learn and get comfortable with.

20. Don’t reinvent the wheel

When you want to build some standard feature, you should really check GitHub to make sure you’re not reinventing the wheel. There is probably already a popular and stable library for the feature that you’re looking to recreate. Look for active projects that have good documentation. If you want to add additional features or rewrite some feature, you could always create a merge request or fork the project.
下载开源日报APP:https://openingsource.org/2579/
加入我们:https://openingsource.org/about/join/
关注我们:https://openingsource.org/about/love/