Author: Lao Jiu – technology big millet

Product: Check out the original video

Socializing: Zhihu

Public account: Old Nine School (beginners have benefits)

Special statement: the original is not easy, without authorization shall not be reproduced or copied, if you need to reproduce can contact the author authorized

preface

Stephen, founder of StudioWeb.com, a hardcore programmer and educator who started the business in 1995. Stefan Mischook

At the beginning of 2021, there is a topic: the top 10 coding principles for 2021! Stef’s Top 10 Rules of Code in 2021… Game Changer! )

See YouTube screenshot below

We old nine school think this “crooked fruit uncle” said very pragmatic, down-to-earth gas, he said our old nine school’s heart sound. So, we thought we’d try to find a way to Miscott’s understanding and interpretation of the “10 Coding Principles for 2021” is shared here with our fans, hoping to give our fans full confidence in 2021 and find the direction of development in the IT industry.

Principle 1

Number one. There are no good or bad programming languages. Please do not regard this translation as a standard. Please correct and supplement the deficiencies.

Interpretation of the

In today’s IT industry development is fast, programming language variety. Here we present TIOBE’s programming language rankings for the month of March 2021

A search on TIOBE reveals 50 of today’s most popular programming languages, and while TIOBE ranks them, are they really good or bad? The answer is definitely no. Because no single programming language can solve all practical problems, in fact, Java has been trying for 25 years to solve all programming problems in a single programming language, and certainly C/C++ cannot do it. Python is so popular right now that it can’t do that either. If we look at Python development jobs, Java is the most popular, followed by javasjavascript front-end jobs, and C++ is the third most popular. Maybe some kids will say that, but what about Php? Forget it, Php and C# are pretty much the same, used to be number one, now it’s gone. But someday, Php or C#, or object-C, will be back at the Top. This phenomenon illustrates the fact that there are no good or bad programming languages! It can be hot or not hot.

For example, we are very optimistic about the TypeScript programming language, currently ranked 41! The reason is that with 20 years of IT experience, I have always been able to keep up with the trend of IT development.

Principle 2

We have a lot of money.Write code faster than debug runs. Please do not regard this translation as a standard. Please correct and supplement the deficiencies.

Interpretation of the

Today’s computer hardware and software ides are so powerful that we no longer write code as slowly as in the past programming environment. Even if we use Python as a script, it is no slower to debug and run than Java, including when we use Php to develop large and complex applications. Modern hardware development environments and ides can help us write code efficiently and quickly, and then debug and run it quickly. Running and debugging in our development environment is not much slower than programming in Java or C++. Therefore, in 2021 application development, We should try our best to choose the programming language with fast development speed to meet the functional requirements of user applications and improve the efficiency of our comprehensive project development.

Principle 3

Article 3. Specialize in a programming language to build a solid programming foundation. Please do not regard this translation as a standard. Please correct and supplement the deficiencies.

Interpretation of the

Because today’s common programming languages are very stable, see the following figure:

Here are just six languages that consistently dominate the top 10:

  • Java
  • C++
  • Python
  • JavaScript
  • Php
  • C#

And these programming languages continue to evolve and become more powerful and stable. Therefore, Stef suggests that instead of learning all 50 programming languages at once, we focus on one of the six languages to lay the groundwork for learning all the other languages in the future. Otherwise, the result is that we seem to know a little about everything and nothing at all. Such programmers will struggle in this industry and will be phased out in the development of this industry.

This is the personal experience of CTO of old nine school: from EPR application development specializing in Java programming for 10 years, and then to C++ mobile game programming development, to the most fashionable JavaScript/TypeScript full-stack application development based on node.js platform.

He moved from Java development to other programming languages with ease and flourishes every time he turned around, and is now comfortably in the IT industry. New technology is so easy for him to develop quickly.

Principle 4

We have a lot of money.Don’t write projects with a learning mentality. Please do not regard this translation as a standard. Please correct and supplement the deficiencies.

Interpretation of the

The so-called “Tutorial Hell” means that we write projects with the mentality of understanding and learning, and write projects for ourselves instead of writing projects for users! Every program that writes a project without considering the needs of the user will never be a good programmer, at most a “coder”.

Because we know this true meaning, so in the offline training camp teaching for the user to write the program concept, has been throughout the whole teaching process.

Principle 5

We have a lot of money.Fifth, get into the habit of refactoring code. Please do not regard this translation as a standard. Please correct and supplement the deficiencies.

Interpretation of the

What is code refactoring? To put it simply, after we write the functional code, we need to optimize the code again, and then optimize the code again, and so on. This process is code refactoring, and it is a real programmer’s literacy!

This principle may be difficult for most data students to understand, because there is a general feeling that: I have used prehistorical power to write, I need to constantly optimize? This is an unacceptable request. However, if we want to be good programmers, this is a necessary professional quality. We also know the importance of this professional quality, so in the offline training camp, this concept has been throughout the whole teaching process.

Principle 6

Article 6. Master the application of design patterns in development. Please do not regard this translation as a standard. Please correct and supplement the deficiencies.

Interpretation of the

The 1990s saw two major events in IT: the birth of the Java programming language in 1995, and the release of Design Patterns by the Gang of Four in 1994: Elements of Resulable Object-oriented Software was published. Since then, the concept of design patterns has officially entered the software industry, and has flourished to this day! We will not go into the concept of design patterns here, but simply put, we can think of design patterns as a summary of experience. It can be used repeatedly to solve problems in software development. And, design pattern thought is also the knowledge that modern programmer must learn and master. Truly experienced programmers are able to use design patterns correctly to solve their actual development problems. For example, design patterns are so widely used in various framework technologies that our everyday code is defined by so many design patterns.

Not to mention how software design patterns can enable us to write highly reusable code, how to build high maintenance projects, etc., for example, if we go to any IT company for an interview, if we can not say several design patterns in practice, IT will certainly fail the interview.

In the offline training camp, Laojiu School will lead students to read MyBaits source code and Spring framework source code, which can quickly improve students’ understanding of design patterns.

Principle 7

Article 7. Ability to mix and edit in multiple languages. Please do not regard this translation as a standard. Please correct and supplement the deficiencies.

Interpretation of the

In addition to learning programming language according to their own preferences, the most important thing is in the actual development, according to the actual project complexity, schedule requirements, etc., to choose the technology. The technical selection of complex projects is very complex, and the programming languages used will certainly be diverse, therefore, this requires us to master the ability to use a variety of languages in the actual development.

For example, in microserver application development, if the microserver client is a mobile phone, we will generally use wechat small program writing interface, plus a cross-terminal (Android and iOS) APP application, which may be implemented by HTML5 technology or uni-app technology. Here will involve Android native development and iOS object-C or Swift native development, and the back-end micro technology uses a lot of technology, generally will involve Java, Php, Node.js, C++ and other technologies to achieve micro back-end applications, and they should be used together.

Therefore, real programmers must master the ability to mix programming with multiple languages in real development. Our offline Java Full stack training camp provides training in this ability.

Principle 8

Article 8. Master the ability to communicate with others. Please do not regard this translation as a standard. Please correct and supplement the deficiencies.

Interpretation of the

Outsiders often misunderstand our role as programmers. They often refer to us as “programmers apes,” which means that programmers, like ape-men, can’t speak but bark and pat their chests. Some students even go to learn programming because they don’t like to talk, just because they think programmers are silent industry.

But it’s actually a joke! If we programmers do not have the ability to communicate, I believe it is impossible to pass the first interview. This is the same as the postgraduate entrance exam. Many people fail in the postgraduate entrance exam because they fail in the interview.

In addition, the truly great programmers are not only technically great, they are also great at communicating with customers and other people. In this way, programmers will have the ability to help users solve problems quickly, and will be liked by our customers and other colleagues and leaders, which will make our own career very smooth and happy.

Principle 9

Article 9. Develop the ability to use frameworks whenever possible. Please do not regard this translation as a standard. Please correct and supplement the deficiencies.

Interpretation of the

Real programmers, by nature, are people who like to write code, and take pleasure in writing it themselves. Such as data structures and algorithms, which are all involved in software development. Such as one-way linked list, two-way linked list, stack, queue and other data structures, we must ask ourselves to write and implement these algorithms when learning, and in the interview of C++ development positions, usually take notes and machine test algorithm code implementation, in order to test the applicant’s ability to master data structure and algorithm.

However, in the actual development, we generally do not use our own algorithm to achieve some functions, but use other people’s framework to achieve algorithm functions, such as the LinkedList class in Java to achieve the LinkedList function, but do not need to implement the LinkedList algorithm. For example, we use the sort function in the standard C++ library for sorting rather than writing a separate quicksort algorithm function to solve the problem. Why is that? Because the Java tools and c + + standard library functions are after a long period of use, in the actual open has verified the correctness and reliability of their so we in the actual development is to directly take the standard classes and utility functions, thus to speed up the development efficiency, reduce the code error rate, reduce the project cost.

In a word, real programmers are programmers with product thinking and project management thinking, not people who think that programmers just knock on code. Our online Java training camp teaches you all the popular front-end frameworks, such as jQuery, Bootstrap, vue. js, Element UI, React. Back-end Spring Boot, SSM, Spring Cloud microserver and other framework technologies help users quickly find jobs.

Principle 10

Article 10. Don’t try to be superman. Please do not regard this translation as a standard. Please correct and supplement the deficiencies.

Interpretation of the

Perhaps we all know the saying to describe the Chinese people: a person is a dragon, a group of people is a worm. We mention this sentence is not to belittle ourselves, but to illustrate a phenomenon: Chinese people are universally recognized as the most industrious people in the world, everyone’s subconscious is to hope that they can get everything done excellent nation ah! But the truth is, in complex application development, one person can’t handle it. If they could do IT all, there wouldn’t be such an IT company, would there? The boss took care of all three by himself.

Similarly, in actual project development, we programmers need to learn to work with other people and not try to be superhuman: write everything in order to show that we are better than others. As a result, a three-person development team is more efficient than one.

So, in the end, keep in mind that even if we become really good programmers, we need to be able to split up the functionality and divide up the work so that a three-person project can work as five people, not just one.

The last

Remember to give dashu ❤️ attention + like + collect + comment + forward ❤️

Author: Lao Jiu School – technology big millet

Copyright belongs to the author. Commercial reprint please contact the author for authorization, non-commercial reprint please indicate the source.