今日推薦開源項目：《面試大全 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