It's good to quote someone else's understanding of programming.

Source: Internet
Author: User

Programming for me is a job, but also my hobby. Like their work, I think I am happy people. I've worked for so many years, and the only thing that really feels like doing a good job is programming. And my understanding of programming, I think I now also qualified to talk about their own understanding. My understanding of programming, simple to say, is actually practical. Innovation or exploration is not my job, I do not have a formal university education, to the academic that set not to see, I understand that I am able to do the job of programming more rely on their own talent and the wisdom of the mind, education may have some subtle influence on me, but I understand that I do not like the way of education, and thus did not have a good education to my help, now it seems that I am wrong, knowledge of the role of people is actually very large, and the opportunity of education is also not many, once missed, never can chase.

In my opinion, the so-called programming of the work is actually pragmatic supremacy, all for practical purposes, while maximizing efficiency. Effective technology is good technology. So don't ask what to learn, in my opinion, all the techniques related to programming must be studied. And always understand that learning is for use, not for research, unless you are really doing research. So I don't agree with programmers who study algorithms and programmers who study Java virtual machines. What programmers really care about is clean code, how to write code, not how to run good code (excluding C + + and other compiler languages without virtual machines or platforms). With these languages, programmers must consider how to run good code. The latter is a matter for computer scientists. On my bookshelf, there is never any book about the virtual machine, nor any book about the operating system, or any book about the database, but there is a book of SQL.

For programmers, it is more important to care about how to write code than to care about the technology itself. So I didn't really study any technology, including Java Virtual machine, various databases, spring framework, various ORM frameworks, various JS engines. I really care about how to write good code, my bookshelf, mostly this kind of books, and all kinds of language related books. including C++primer, although I do not think C + + will appear in my field of work, (but actually it does appear) do not think that will be used in C + + What a great, in my opinion, in C + + to develop, is a very sad thing.

I always feel that to write good code, not just learn a language, but need to understand a variety of different styles of language, while not to study too unpopular language. The purpose of our study is to apply, the language that can never be applied to us is actually worthless. The programming language is broadly divided into two types, one is imperative, the other is C, the other is functional, and represents the scheme language (LISP). Now there's a mixed-style language, Scala, so Scala is worth learning, it's very distinctive, it's a carefully designed, scholarly language. Most of these languages are ambitious, but they learn more and use fewer people.

Ultimately, however, programming is the work of solving problems, not academic research. Two of the biggest problems in programming are the requirements, and one is the (code) quality. Technology has never been a priority to consider. Anyway, inventing some kind of technology is not our job, our work is actually applying these technologies. So learning is actually very important, but study is not research, we learn the results can be, this is relatively easy. Think about the math formulas you studied in high school, do you know how they're performing? There are many theories of mathematics that have been gradually recognized for hundreds of of years. Delving into these things doesn't really help the job. What is the use of a Java class byte code that you can read? Prove you're a cow? The user's needs may be cabbage-style, you do not feel very wronged (ping the world's only, but here to grow vegetables)? Of course, there is no problem as a hobby.

The most basic way to improve the quality of your code is to pay attention to it when you write code, to be responsible for the code you write. Don't hold on to the idea of accomplishing the task. Of course, beginners to complete the task is right, because it is already very challenging, but the real programmer, always should be efficient, high quality as the goal. In fact, there is no deep learning, the key is whether you have the heart. For example, to improve the efficiency of a basic is that you are not familiar with the keyboard, will not blind dozen. The keyboard is very poor people are not efficient programming, every dozen a word to see the keyboard, how can be efficient. The most important keys for programmers are actually the right hand pinky, do you know the keys? You don't have to look at the keyboard. (;" []{}+=-]. A good programmer's keyboard must be good.

At the same time development tools are also very important, a look at you know that you have no pursuit of programming.

Programmers need to be familiar with programming languages, especially the language you use in your daily work. It is also important to understand the object-oriented technology in depth. Abstraction is a very important means of improving code quality. I think the normal intelligence of people, familiar with the daily work should not be difficult. But the interview was always a surprise to me.

Programmers can not be afraid of learning, in fact, I want to say that humans can not fear learning. Learning ability is the only distinguishing feature of other species, and if you give up, you can't basically call it human.

Practical, efficient, quality. That's what programmers should be concerned about. Technology is not the focus, technology is endless. But in fact, the actual programming-related technology is not much, in addition to object-oriented I can not think of anything else. A lot of messy technology and programming are irrelevant, what big data, cloud computing, a variety of database technology, a variety of virtual machine technology, these and programming independent. And JS related to a lot of: what Nodejs,angularjs,requirejs, and so on. Have learned that you may not be able to write good JS. The only standard for good code: the standard of good code:

    1. Less
      1. Cohesion Poly, low coupling
      2. Very high degree of abstraction.
      3. Use the class library whenever possible. )
    2. No spelling errors
    3. No IDE warning, except JS. (If you have a warning, be sure to use a comment to explain why this warning)
    4. Comment Description Intent
    5. The key identifier must be carefully named, and the name has a relevant meaning. For example, field, method name, class name.
    6. Using object-oriented languages like Java, do not use map as your data type, but with classes.

In addition

    1. Know him before you change someone else's code. Respect for others ' design, respect for others is also respect for their own, but also a respect for programming work.
    2. Don't try to hide the idea, if you want to compromise with reality, then compromise.
    3. Good code is generally changed out, programming basically no one go possible.

It's good to quote someone else's understanding of programming.

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.