程序員如何學習更好的知識
by Kevin Gardner
凱文·加德納(Kevin Gardner)
如何保持學習并成為更好的程序員 (How to keep learning and become a better coder)
Coding has come a long way since the days of Robert Taylor and ARPANET and Sir Tim Berners-Lee and CERN — and it continues to advance. When it comes to mastering the art of coding, there is always room for improvement. The better you can code, the more options you’re likely to have in your career. It’s important that you don’t let yourself get complacent with where you’re at and that you constantly strive to learn more and keep pace with developments and your community.
自羅伯特·泰勒(Robert Taylor)和ARPANET,蒂姆·伯納斯·李爵士(Tim Berners-Lee)和歐洲核子研究組織(CERN)時代以來,編碼已經走了很長一段路,并且還在不斷發展。 在掌握編碼技術時,總會有改進的余地。 您編寫的代碼越好,您在職業中可能擁有的選擇就越多。 重要的是,不要讓自己對自己所處的位置感到自滿,并且要不斷努力地學習更多,并與發展和社區保持同步。
The following are five great tactics you should incorporate into your learning practices so that you can constantly become a more effective coder.
以下是您應該在學習實踐中采用的五種重要策略,以便您可以不斷成為更有效的編碼人員。
計劃如何克服局限和干擾 (Plan out how you’re going to overcome limitations and distractions)
Let’s start with the basics. One of the most important things you need to do to raise your coding abilities is to know what you need to work on. There is so much to learn when it comes to coding, but every coder usually has some task or language in particular that they struggle with. Knowing what you don’t know can sometimes be hard in coding if you’re not pushing yourself often and trying to do new things.
讓我們從基礎開始。 要提高編碼能力,最重要的事情之一就是要知道需要做什么。 關于編碼,有很多東西要學習,但是每個編碼器通常都有一些特別的任務或語言,他們很難與之抗衡。 如果您不經常推動自己并嘗試做新的事情,那么有時您很難知道不知道的內容。
If you’re just getting started, you might start with learning JavaScript. It’s the standard web platform language, is the most popular in terms of usage, and is commonly used for mobile app creation. You could try a boot camp to expand your skills set, but these can get expensive, so only commit if you’re truly invested and want someone to report to.
如果您剛剛入門,則可以從學習JavaScript開始。 它是標準的Web平臺語言,在用法上最受歡迎,并且通常用于移動應用程序的創建。 您可以嘗試新手訓練營來擴展您的技能,但是這些技能可能會很昂貴,因此只有在您真正投入并希望有人向其報告時,才投入工作。
Something to consider also is where you’re coding. Georgia Institute of Technology released a study that found online developers take about ten to fifteen minutes to get back in the flow of work if interrupted. Plan for how to eliminate controllable distractions like social media, background noises, and so on. Make a good environment conducive to focus, in whatever ways work best for you.
編碼的地方也要考慮。 佐治亞理工學院發布的一項研究發現,在線開發人員如果被打斷,大約需要10到15分鐘才能恢復工作流程。 規劃如何消除可控制的干擾,例如社交媒體,背景噪音等。 以最適合您的方式,營造一個有利于專注的良好環境。
不要只停留一個迭代或一個例子 (Don’t stop with just one iteration or example)
You’ll never perfect your coding abilities if you write code until it works and just stop, or if you copy and paste without learning why something works. It’s a good idea to get into the habit of writing code three times to perfect your work and understanding before you call a project complete. You might also write your code by hand. This may sound counterintuitive — computer code via pencil and paper — and will more than likely take a bit more time, handwriting code sharpens your proficiency at any level.
如果您編寫代碼直到代碼起作用并停下來,或者如果您在不了解某些原因的情況下進行復制和粘貼,則您將永遠無法完善自己的編碼能力。 在完成一個項目之前,養成三遍編寫代碼的習慣是一個好主意,以完善您的工作和理解。 您也可以手動編寫代碼。 這聽起來像是違反直覺的(通過鉛筆和紙來寫計算機代碼),并且可能要花費更多的時間,手寫代碼可以在任何程度上提高您的熟練程度。
Code can almost always be improved upon. Improve your coding by rewriting it to work faster, to be more reliable, or to make it easier to document. If you really want to be a master coder, you should get into the habit of throwing code out after it’s complete and starting over. This way, you know that your final product, after the third time writing code to fulfill the spec, will be as good as possible and your grasp of it firm.
幾乎可以隨時對代碼進行改進。 通過重寫代碼來提高編碼效率 ,使其工作更快 ,更可靠或更易于記錄。 如果您真的想成為一名高級程序員,則應該養成在代碼完成并重新開始后將其扔掉的習慣。 這樣,您便知道,在第三次編寫符合規范的代碼之后,您的最終產品將盡可能地好,并且您將牢牢掌握它。
始終有一個項目在進行中,尤其是使用新代碼時 (Always have a project in the works, especially with new code)
In addition to your routine work, you should have projects and challenges in the works at all times that push your bounds and allow you to grow as a coder. Try to always be doing something you have never done before in your programming experience so you’re consistently learning.
除了日常工作外,您還應始終在工作中遇到一些項目和挑戰 ,這些挑戰和挑戰會不斷發展,并讓您成為一名編碼員。 嘗試做自己在編程經驗中從未做過的事情,以便不斷學習。
It’s easy to master a few sets of skills that allow you to fulfill your role, and then be tempted to stop there. But you should have side projects that will allow you to work on some area of coding that’s problematic for you and that you haven’t yet mastered.
掌握一些技能可以輕松地完成自己的角色,然后很容易就此止步。 但是,您應該有一些輔助項目,使您可以從事某些對您來說有問題且尚未掌握的編碼領域。
Build side projects as you learn new material. Personal goals and projects are often the best starting points for experimenting with new subjects, languages, and techniques.
在學習新材料時,請建立輔助項目。 個人目標和項目通常是嘗試新主題,語言和技術的最佳起點。
避免只學習一種語言 (Avoid only learning one language)
Each programming language has its own unique advantages and disadvantages. Don’t fall into the bad habit of thinking one language reigns supreme and all the others are more or less useless and unworthy of understanding.
每種編程語言都有其獨特的優點和缺點。 不要以為一種語言占主導地位而養成其他語言或多或少毫無用處且不值得理解的習慣。
Learning another language gives you a new perspective and could help you to handle projects down the road with greater expertise. Some of the many new languages you could start working on that you might not yet be familiar with include C/C++, Ruby, Python, Django, Pascal, and NodeJS. Learning other coding languages, with different approaches and viewpoints, offer you a chance to think about problems from multiple angles. Expand your mind and creativity.
學習另一種語言可以為您提供新的視角,并可以幫助您以更高的專業知識來處理項目。 您可能尚未熟悉的許多新語言可能包括C / C ++,Ruby,Python,Django,Pascal和NodeJS。 通過不同的方法和觀點學習其他編碼語言,可以使您有機會從多個角度思考問題。 擴展您的思維和創造力。
A helpful resource for coders with this learning process is a coding coach. This is a robust training program with detailed procedures that will help you learn languages along the way.
對于編碼人員來說,通過這種學習過程,一個有用的資源是編碼教練 。 這是一個功能強大的培訓計劃,其中包含詳細的過程,將幫助您一路學習語言。
盡可能咨詢其他更有經驗的編碼員 (Consult other more experienced coders whenever possible)
You can learn so much by taking part in projects with fellow coders — for example, among IT staffing at your organization — who are more skilled and experienced than you. This way, you can ask those with more experience for assistance and explanations when you encounter some task or issue that you’re unfamiliar with. Another useful approach is to consult online resources and solutions; simply Google questions and learn from people on Reddit, YouTube, blogs, or Codecademy, among many others.
您可以通過與其他編碼員一起參加項目來學到很多東西,例如與您的組織的IT人員相比,這些編碼員比您更熟練和經驗豐富。 這樣,當您遇到一些您不熟悉的任務或問題時,您可以向經驗豐富的人尋求幫助和解釋。 另一種有用的方法是咨詢在線資源和解決方案。 只是Google提出問題并向Reddit,YouTube,博客或Codecademy等人學習。
When you work with other skilled coders — in-person and online — make sure you read their code. Reading code produced by better coders is a great way to expand your horizons and see how others with more skill tackle tasks that you would have handled differently.
當您與其他熟練的編碼人員(面對面和在線)合作時,請確保您閱讀其編碼。 閱讀由更好的程序員編寫的代碼是擴大您的視野并了解其他人的能力如何的又好又好方法,這些人本應以不同的方式處理任務。
Network and partner with those whose skills you admire and wish to acquire. When you work on projects with better coders, you get to learn new things while being paid. And as you work to elevate your skills, explore the breadth and wealth of online resources out there, ready to be consulted.
與您欣賞并希望獲得技能的人建立聯系并與之合作。 當您使用更好的編碼器進行項目開發時,您會在獲得報酬的同時學習新知識。 在您提高技能的同時,探索其中豐富的在線資源,隨時可以進行咨詢。
翻譯自: https://www.freecodecamp.org/news/five-great-tactics-for-becoming-a-better-coder-5c6da86ab0d0/
程序員如何學習更好的知識