The second reading assignment -- 12061161 Zhao zihao

Source: Internet
Author: User

No silver bullet for Reading Notes

In this article, the author's point is that there is no technology or method that can increase the productivity of software engineering by 10 times in ten years (1986)

The reason listed by the author is that code completion is divided into two parts: abstraction (modeling) and code implementation. According to my personal understanding, it is the process of design and implementation. The author believes that the implementation process is relatively faster, but it is difficult to improve the design process. According to the design process, the proportion of the entire project is greater than 1/10. Therefore, it is concluded that no technology or method can increase the productivity of software engineering by ten times in ten years.

In my opinion, the author's opinion is relatively reasonable. The process of implementation is the communication between people and machines. As long as there are good standards (and everyone strictly abides by them), the process efficiency can be improved by using some tools or other methods.

The design process is difficult to improve. I think the reasons are as follows:

Communication between people and the real world is difficult to describe.

The real world is very complex, and it is very difficult to clarify the relationship between the real world.

The real world is changing.

These points of view make it more difficult.

However, I also think this article is too pessimistic due to the author's 10-year term. The author believes that the difficulty lies in design, that is, human thinking. We can obviously feel the change in people's thinking in less than 70 years after the emergence of computers. Therefore, the author cleverly talks about the time limit (10 years). I think, it may be difficult to make breakthroughs in design in the past 10 years, but humans will eventually find the silver bullet of software engineering.

 

 

 

 

Reading Notes-big ball of mud

A big mud ball refers to a pile of code that is messy, complex, messy, and colluded.

I think the main cause of the huge mud ball is the design problem. The program designer did not have a good understanding of the whole program before implementing the code, many details of the program cannot be unified. Programmers do not know the detailed tasks of each part of their code, or where something should be processed. This can cause program redundancy and disordered structure.

Sometimes, beginners of the Code will encounter this problem (well, I admit it is me). After writing the program, debugging has not been completed for a long time. In the end, I completely re-code the code once, not only very fast, but also quickly AC. The reason is that the first time I wrote a program, I didn't have a deep understanding of the program, so the first code was messy and debugging was difficult. The second time I wrote the code, I knew the structure of the program clearly, so I was very satisfied with the writing, and there were very few errors.

I remember that during the object-oriented course, the teacher emphasized the encapsulation of the program. It can be said that good encapsulation is similar to that without large mud balls. Each code segment (class) must be able to accurately complete the established tasks and assign program tasks reasonably.

I think the design document is a good tool for solving this problem. Sometimes we feel that the design is complete and we start to write code, so we can hardly find some details that are not considered. The design documentation helps us clarify our ideas and better plan our own programs. At the same time, the design documents provide good media for our communication. When computers make up a large job, I feel the importance of designing documents. Sometimes, the seemingly difficult problems are explained in the design documents to clearly understand what you want to do and what you want to achieve. For some seemingly simple questions, the design documents can help us to see what is not perfect about our design.

From the perspective of team projects, design documents are more important, and design documents are the tools for communication. When I was writing a soft engineer in the first week, I did not know what I entered or what I would output. No way to start. There is a design document that can be easily solved.

 

 

 

Reading Notes worse is better

There are many strange phenomena in the IT world. VB is definitely a spam language, but it beat Delphi; IE is definitely a spam browser, But it occupies the leading position in Chinese browsers; MySQL database features are definitely inferior to PostgreSQL, however, the market share is far ahead. There is no doubt that the MacOSX operating system is excellent, but windows is the absolute overlord. (I think the blog is well written)

In my opinion, worse and better describe two aspects. Worse is relative to designers, or very professional. Better is the user's experience. Worse is better this theory reflects the generation gap between designers and users. This generation gap has many aspects:

Historical Reasons: No matter how superior MacOSX is, but he came into being far behind windows, people are used to Windows and think the operating system should be like this. MacOSX is hard to beat windows. People are reluctant to change things they have adapted to. This is a very important reason for this phenomenon.

Reasons for user experience: many designers think that good technologies are good at using them. However, for users, usability is much more important than technology. There are a lot of software internal code that is very good and efficient, but it is not "successful", the reason is that it does not understand the user's needs, users feel that the software lacks affinity. Software will naturally be eliminated.

Money: I personally think 360 is a thorough spam software. However, it is easy to use. In addition, the definition of good software is precisely found: free ....

In summary, it has caused many worse is better phenomena.

 

 

Finally, I would like to thank youdao dictionary for its difficulty in reading English ....

The second reading assignment -- 12061161 Zhao zihao

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.