javascript 开发
JavaScript came a long way, Since its release more than 20 years ago and still, it continues to grow with adding handful characteristics, features which help software craftsman to build better crafts. Unfortunately modern day JavaScript craftsmen are going the wrong direction within their career. Instead of mastering the core of JavaScript Craftsmanship first, they are only trying to learn new trendy JavaScript frameworks.
JavaScript取得了长足的发展,自20年前发布以来,它一直在不断发展,并增加了一些特性,这些特性可帮助软件技术人员构建更好的技术。 不幸的是,当今JavaScript工匠在他们的职业生涯中走错了方向。 他们只是在尝试学习新JavaScript框架,而不是先掌握JavaScript技巧的核心。
In this article, I’m going to share five concepts that make a successful JavaScript craftsman.
在本文中,我将分享五个使JavaScript成为成功的工匠的概念。
(1) Mastering the core fundamentals of JavaScript programming language — The programming language defines the thought process, a mindset of a programmer. The Java programmer always tries to solve a problem with a good old OOP approach and the Haskell programmer will try to solve the same problem with a functional approach. If you want to find a solution for a specific problem domain as a JavaScript programmer, You must master the fundamentals of the language. The following topics are really crucial to learn in order to master the fundamentals of JavaScript programming language.
(1)掌握JavaScript编程语言的核心基础 -编程语言定义了思维过程和程序员的思维方式。 Java程序员始终尝试使用良好的旧OOP方法解决问题,而Haskell程序员将尝试使用功能性方法解决相同的问题。 如果您想以JavaScript程序员的身份为特定问题领域找到解决方案,则必须掌握该语言的基础知识。 为了掌握JavaScript编程语言的基础知识,以下主题对于学习至关重要。
Values, Types, and Operators. 值,类型和运算符。 Control Flow. 控制流。 Functions. 功能。 Objects and Arrays. 对象和数组。 Browser DOM API. 浏览器DOM API。 Asynchronous Programming. 异步编程。 Object-Oriented Programming. 面向对象的编程。 Functional Programming. 功能编程。 ES6 Language Features. ES6语言功能。 JavaScript Modules. JavaScript模块。 Regular Expressions. 常用表达。 Browser Internal Architecture. 浏览器内部架构。There are tons of good books and free resources for learning JavaScript.
有大量的好书和免费资源可用于学习JavaScript。
“Eloquent JavaScript” a free online published book by Marijn Haverbeke.
Marijn Haverbeke的免费在线出版的“ Eloquent JavaScript ”一书。
“JavaScript: The Definitive Guide”, by David Flanagan. David Flanagan撰写的“ JavaScript:权威指南”。MDN JavaScript Reference guide.
《 MDN JavaScript参考指南》。
(2) Data Structures and Algorithms — Problems generally have data to process on to make some decisions and we have to build a procedure to solve that specific problem domain. In any real-life complexity of the problem domain and the data we have to handle would be very large. That’s why it is essential to know basic data structures like Arrays, Linked Lists, Stacks, Queues, Trees, Heap, Dictionaries, Hash Tables and Graphs, and also basic algorithms like Searching, Sorting, Hashing, Graph algorithms, Greedy algorithms, and Dynamic Programming.
(2)数据结构和算法 -问题通常具有要处理的数据以做出某些决策,因此我们必须构建一个过程来解决该特定问题域。 在现实世界中,问题域和我们必须处理的数据非常复杂。 这就是为什么必须了解诸如数组,链接列表,堆栈,队列,树,堆,字典,哈希表和图之类的基本数据结构,以及诸如搜索,排序,散列,图算法,贪婪算法和动态之类的基本算法的原因编程。
Most of the best DSA books are written in programming languages like C, C++, and Java which much more into academic mindset, but it won’t be a problem to JavaScript developers because they only use simple language features like control structures, Arrays, and Objects. Here are the recommended readings of this topic.
大多数DSA最好的书都是用C,C ++和Java之类的编程语言编写的,这更多地融入了学术界,但是对于JavaScript开发人员来说,这不会是一个问题,因为它们仅使用简单的语言功能,例如控件结构,数组和对象。 以下是该主题的推荐读物。
“Data Structures & Algorithms in Java” by Robert Lafore. Robert Lafore撰写的“ Java中的数据结构和算法”。 “Algorithms” by Robert Sedgewick. 罗伯特·塞奇威克(Robert Sedgewick)的“算法”。 “The Algorithm Design Manual” by Steven S. Skiena. Steven S. Skiena撰写的“算法设计手册”。(3) Design Patterns — As a good Software Craftsman, you strive to write clean and maintainable code and one way to have a clean and maintainable code is to use of design patterns. Design patterns are the general reusable solution to a commonly occurring problem within a given context in software design and they are absolutely crucial as hardcore JavaScript Programmer. If you don’t use design patterns you will end up with producing unnecessary large code bases, which is much harder to test and refactor. They are a really great way for communicating your intent very quickly with other programmers.
(3)设计模式 —作为一名优秀的软件工匠,您努力编写干净且可维护的代码,而拥有干净且可维护的代码的一种方法是使用设计模式。 设计模式是在软件设计中给定上下文中解决常见问题的通用可重用解决方案,它们作为核心JavaScript程序员绝对至关重要。 如果不使用设计模式,最终将产生不必要的大型代码库,这很难测试和重构。 它们是与其他程序员非常快速地交流您的意图的绝佳方式。
Recommended readings are
推荐的读数是
“Head First Design Patterns” by Elisabeth Freeman and Kathy Sierra. 伊丽莎白·弗里曼(Elisabeth Freeman)和凯西·塞拉(Kathy Sierra)撰写的“ Head First设计模式”。 “JavaScript Patterns” by Stoyan Stefanov. Stoyan Stefanov的“ JavaScript模式”。(4) Programming Best Practices — Programming is not only about learning and writing code. Code readability is a universal subject in the world of computer programming. It helps standardize products and help reduce future maintenance cost. Best practices help you, as a programmer to think differently and improve problem-solving attitudes within you. A simple program can be written in many ways if given to multiple developers. Thus the need for best practices comes into the picture and every programmer must aware of these things.
(4)编程最佳实践 -编程不仅是学习和编写代码。 代码可读性是计算机编程领域中的通用主题。 它有助于使产品标准化,并有助于降低未来的维护成本。 最佳实践可以帮助您(作为程序员)以不同的方式思考并提高您内部解决问题的态度。 如果将简单的程序提供给多个开发人员,则可以用多种方式编写。 因此,需要最佳实践,这是每一个程序员都必须意识到的事情。
Recommended readings are
推荐的读数是
“Refactoring JavaScript” by Evan Burchard. Evan Burchard的“重构JavaScript”。“JavaScript Style Guide” from Airbnb.
Airbnb的“ JavaScript样式指南 ”。
“Clean Code” by Robert Cecil Martin. 罗伯特·塞西尔·马丁(Robert Cecil Martin)的“清洁代码”。 “The Pragmatic Programmer” by Andrew Hunt. 安德鲁·亨特(Andrew Hunt)的“实用程序员”。(5) Testing and Debugging (T&D) — As you know about writing the code for a specific problem domain, you have to learn how to test that code snippet and debug it when it is needed. Some programmers skip their unit testing or other testing methodology part and leave it to the QA team. That will lead to delivering 80% bugs hiding in your code to the QA team and reduce the productivity and risking and pushing your project boundaries to failure. When a miss behavior or bug occurred within your code when the testing phase. It is essential to know about the debugging techniques to identify that bug and its root cause.
(5)测试和调试(T&D) -正如您了解为特定问题域编写代码一样,您必须学习如何测试该代码段并在需要时对其进行调试。 一些程序员跳过其单元测试或其他测试方法部分,而将其留给质量检查团队。 这将导致您的代码中80%的错误隐藏在质量保证团队中,并降低了工作效率,并冒了风险,并将项目边界推向失败。 在测试阶段,当您的代码内发生未命中行为或错误时。 了解调试技术以识别该错误及其根本原因至关重要。
Recommended readings are
推荐的读数是
“Testable JavaScript” by Mark Ethan Trostler. Mark Ethan Trostler的“可测试JavaScript”。“JavaScript Unit Testing” by Traversy Media.
Traversy Media的“ JavaScript单元测试 ”。
“JavaScript Unit Testing Guide” by Marc Mignonsin.
Marc Mignonsin撰写的“ JavaScript单元测试指南 ”。
Debugging JavaScript in Chrome DevTools by Google.
由Google 在Chrome DevTools中调试JavaScript 。
I hope these instructions will help you to become a successful JavaScript Programmer. Here I explain only the universal core concepts that you must learn as a successful programmer. I am not mentioning any technologies that JavaScript programmers must know such as React.js, Angular, Vue.js, and JavaScript dev tools because that can be changed according to the problem domain or environment that you are currently working on.
希望这些说明能帮助您成为成功JavaScript程序员。 在这里,我仅解释作为成功的程序员必须学习的通用核心概念。 我没有提到JavaScript程序员必须知道的任何技术,例如React.js,Angular,Vue.js和JavaScript开发工具,因为可以根据您当前正在处理的问题域或环境来更改这些技术。
Happy Coding!
编码愉快!
翻译自: https://medium.com/@aravinda.mailbox/five-universal-concepts-that-every-javascript-developer-must-know-ec11efbc6fed
javascript 开发