Thoughts on reading "Javascript:the Good Parts"

Source: Internet
Author: User

A good Parts that refines a language or technique and uses that subset to construct robust and sturdy applications.

We always tend to learn and use all the language features, as if anything new, whatever is provided, is necessary to use; This book tells us to be selective in learning and using.

Not all language features need to be learned and used. Learning and using poorly designed features not only takes a lot of time and effort, but also compromises the maintainability of the project, while learning the good parts not only saves time, frees up more time and energy to do more important things, but also helps to do things well and improve earnings/learning ratios.

Skillful hacker can appreciate its ingenious conception and ability to exploit loopholes, but it is not suitable for practical development.

A good subset of Javascript:

1. Simple loose type system, mainly Boolean, string and numeric three types, undefined, null two special values;

2. function is the Hub object of JavaScript, functional programming paradigm, which is worth studying and discussing;

3. The dynamic object mechanism based on prototype inheritance is worthy to be studied and explored;

4. Easy to create and manipulate objects and arrays, JSON Data Interchange Format, easy to use;

By extension, you can also define your own subset of development and rely on these elements for efficient and reliable development activities.

1. Programming language: At least familiar with six programming languages, master two programming languages. "Familiarity" means a great deal of learning and use, and "mastering" means being able to use the language to build a large and reliable software system.

An over-program, an object, a function, a declarative, a client-side language, a scripting language. For example, C/java/clisp/sql/javascript/python

2. Programming tools: At least one editor, one IDE, one project building tool, one version control tool, one console. For example Vim/eclipse/maven/svn/shell (Cygwin)

3. Programming method: Top-down, intent-guided, bottom-up; first right, then good; pre-designed, early-action, iterative development, release, feedback and improvement; estimated time;

4. Programming Style: K&r C, Java Programming specification, neat layout, code concise no redundancy, consistent, use idiomatic expression paradigm

5. Programming Model: Serial, concurrent, multi-process, multi-threading, MapReduce, b/S, async, callback, blocking, non-blocking

6 Programming Ideas: Over-programmed, object-type, functional, declarative, primitive, set, combinatorial, abstract, divided,

7. Common algorithms: Divide and conquer, recursive, dynamic planning, space-time trade-offs, priority arithmetic; problem transformation;

8. Sort: Insert sort, quick sort, heap sort, merge sort;

9. Search: Sequential search, binary search, hash search, segmented parallel search;

10. Data structure: "One-dimensional or two-dimensional" array, linked list, stack, queue, tree, string, hash table; MySQL

11. Text Processing: Find, grep, awk, sed, regular expressions;

12. Design Pattern: Factory method, Singleton, prototype, template method, strategy, observer, responsibility chain, combination, command, agent, appearance, adapter, adorner, iterator

13. Process and network: PS, top, Task Manager, netstat, ssh, SCP, socket, HTTP,

14. Development framework: Servlet, Spring, Struts, Ibatis, Jquery, ExtJS, etc.

15. Common components: Log (common-logging), utility library (string, date function, or tool class),

16. Run the container: Apachehttp, Tomcat, jetty, Nginx, browser,

17. Software Architecture: MVC; View-controller-service-dao (API)-DB; factory, Pipeline and filter; event driven;

18. Unit Test: Parameter combination automatic generation, equivalence division class, boundary test, air test, cross check, reverse test,

19. Code organization: Header files, class files, package mechanisms, namespaces,

20. Software Engineering: modularity, objects, encapsulation, implementation of hidden, agreed interface,

21. Measurement technology: Performance measurement, time

22. Learning website: Csdn, Iteye, Infoq, StackOverflow, open source project website, personal blog, Google, Baidu,

23. Classic Books: Computer programming art, Programming Zhu Ji Nanxiong, SICP, in-depth understanding of computer systems, programming practices, Linux/unix design ideas, design patterns, etc.

Thoughts on reading "Javascript:the Good Parts"

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.