Is the software enough?

Source: Internet
Author: User

Many programmers basically started to use JSP from Java. They thought it would be enough to use JSP like using PHP. Is this really enough?

Some old programmers with programming experience have been wondering whether the software can be reused? They think that the implementation of reuse will complicate the software and go to another extreme, but it is far from enough. Therefore, they think that the software can be "enough". This original simple idea has been widely used on the website of csdn programmers.

I think this "enough" idea is "misleading" for a large number of beginners, resulting in a decline in the quality of the entire software system. This is a reduction in requirements for myself, in exchange for the rapid progress of the project, currently, the Chinese software industry is not unrelated to this idea.

With the concept of "enough", they question Java complexity, multi-layer structure, framework, interface-oriented programming methods, and new technical ideas such as AOP, they think these are "looking for trouble ".

Many people think that it is unnecessary to complicate a simple system in pursuit of flexibility. They think that flexibility and simplicity are in conflict. In fact, they only see one aspect of the problem.

On the contrary,Flexibility and simplicity are not in conflict.People who believe that contradictions are very simple because they have not grasped the essence of the problem, and the essence of the problem is very simple. They also have considerable flexibility.

I don't think that software can be "adequate". Instead, I want to have the idea of "change". I often ask myself what are the prerequisites for me to do this, if the demand changes, what should I do if I hit the precondition and conditions for doing so.

Programmers must have the idea of "no change in plan" and set up the idea of "demand first" without changing requirements. I think this is the basic quality of a programmer. If I hire a programmer, I won't take a test on how many skills he has. I will take a test on his program-making ideas. This is really a World Outlook problem. If the world outlook is wrong, the basic direction will be wrong, high skills are also empty.

Therefore, from this perspective, why does software technology emphasize reuse and why does a framework exist? Why is interface-oriented? These seem to be "looking for trouble "?

The introduction of these "self-seeking" Concepts helps programmers cope with changing needs.

As demand changes rapidly, programmers cannot create a new system or program as a result of a single requirement. If we try to find things that don't change in these programs and solidify the abstraction into a framework or something like that, when requirements change, we only need to develop a small number of new programs under this framework based on the specific new requirements. Does this reduce the workload of programmers?

In other words, these seemingly complex concepts can help programmers follow demand changes more quickly. This is what software programmers do.

I have already mentioned many of the above principles and some people have refuted them. However, my current practice does, for example, my jdonsd framework has been repeatedly used in OA, e-commerce, and other systems, improving development efficiency and system quality, this improves the project progress quickly.

It is recommended that beginners learn a lot about reusable software technology and refactoring, pattern and framework theories, arm themselves more powerful, improve their professional quality, and make themselves more professional.

Let those who are skeptical about software reuse and "enough" pragmatic go with the Great East flow!

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.