今日推荐开源项目：《面试大全 FAQGURU》传送门：GitHub链接 推荐理由：这个项目是按各个方面分类的你在面试中可能遇到的问题，比如 JS 和 SQL 这些方面，在面试之前针对性的为自己补充一下这些知识能让你底气足一些。而且不光是面试，在你的学习进行到了一定程度之后，你可以自己试着回答这些问题来作为一个考验，以此来检验你的学习程度。
今日推荐英文原文：《Things Developers Say and What They Mean》作者：Justin Travis Waith-Mair 原文链接：https://medium.com/the-non-traditional-developer/things-developers-say-and-what-they-mean-48956b6111c1 推荐理由：一些有意思的开发者用简写短语，兴许你曾经见过这篇文章中出现的那些特别奇怪的短语，现在你知道它们的意思了。
Things Developers Say and What They MeanWhen I got my first job as a new developer, I thought I had a good foundation of programming concepts. I knew there were things I didn’t know yet, but what I didn’t know was just how many slang and buzz words existed that don’t show up programming courses. When you are new, like I was, imposter syndrome is extremely high and you really don’t want to prove how “unqualified” you are by admitting you don’t know what people are talking about. Because of that, I decided I would devote this post defining a couple of these new phrases for you in a safe environment. That way you don’t have to admit you feel like an imposter. (I want to emphasize, it is ok to feel like an imposter. It’s something that never goes away. With a field that grows and changes as fast as this one does, you will never ‘arrive’ and be all knowing. One of the biggest differences between green developers and seasoned ones are that they are willing to admit that they don’t know something and are willing to ask “What is that?” The sooner you learn to get over that ‘imposter’ feeling, the more quickly you will improve as a developer.) NO-OP: A no-op means “No Operation” and means probably what you think it means, it does nothing. It used when you write code that intentionally does nothing. The first time I heard this, it went something like this. “Unfortunately, the API required me to pass in a function, so I passed in a no-op.” I was just sitting back thinking, “Oh this must be some crazy functional programming jargon like a monad. This is way above what I can understand right now.” I was almost a little disappointed to learn what it really meant. WIP Commit: You may also hear “commit that as a wip” or something similar. When I first hear this, my knowledge of git commands were:
git add .,
git commit -m, and
git push origin master. In fact that was usually what I did every time. In that order. So I just assumed it was some sort of git command that I hadn’t learned yet. After searching for how to use
git whipI eventually learned it that a it wasn’t ‘whip’, it’s ‘wip’ and it stands for Work In Process. Sometimes you just need save your changes in it’s current state and the current state is not finished, it’s a … well you know. Talking to a rubber duck: Also called, rubber duck debugging, this is processes of talking through the code, bug, or whatever out loud. By describing the problem out loud, it forces you to stay focused and often times you find the solution on your own by talking through it. Why a rubber duck?This process was made famous from an influential book called The Pragmatic Programmer where a programmer kept a rubber duck with him to talk to it, which would help him think through the problem and solution much easier. As a green developer, I would often times hear things like, “Can you be my rubber duck for a moment?” or “Thanks for being my rubber duck.” Essentially, what is being said is “Can I talk through this problem out loud with you? I don’t expect/need you to help me get the answer, I just want to talk through the issue.” Uncle Bob: Speaking of influential writings, another pair of influential writings in the developer world are The Agile Manifesto and Clean Code: A Handbook of Agile Software Craftsmanship. Robert C. Martin authored or co-authored both of them. Both are extremely influential writings on what makes code “clean” and “easy to maintain.” The reason I put it here is that, when I was new, I would hear people talk about Uncle Bob like he was Jesus and/or Satan. I would hear things like, “This code would make Uncle Bob proud” or “Uncle Bob wouldn’t like this, but I’m doing it anyway”. What was really being said was that “I’m proud of my code and how ‘clean’ it is” or “I know this doesn’t follow principals of ‘clean code’, but I have reasons why.” Why Uncle Bob? He refers to himself as Uncle Bob and even his consulting company is named Uncle Bob. Why did he chose to refer to himself as Uncle Bob? I could not find an answer that was from a trusted source, so I decided not to speculate. The world may never know. What jargon used to trip you up? Comment below or tweet to me. I want to make this a regular series of post and would love the help compiling a much bigger list of jargon and buzz words. Thanks for the help.
每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文，欢迎关注开源日报。交流QQ群：202790710；微博：https://weibo.com/openingsource；电报群 https://t.me/OpeningSourceOrg