Dream Break Code

Source: Internet
Author: User

The author is obsessed with a game that is open code and can be changed by a gamer, and is bored to innovate and add some functionality on its basis. I think this is probably the beginning of a programmer's interest in the development of it.

With the flourishing of the science and technology industry, the Internet time brings the rapid development of technology, the creation of the company, the creation of wealth, but also brought about the shortcomings of the process. And for software developers, the time is fast and slow: if the inspiration, everything goes well, then completely forget the time, the whole heart into high-speed development. On the contrary, encounter bottlenecks, the difficult software time. Software can not be like building bridges once and for all to benefit for hundreds of years. Instead of loopholes, trouble constantly, the wrong stop. Bring endless improvements and distress.

And also in this chapter, I recognize the meaning of Hello World. There is a joke on Weibo, it engineer's epitaph can be written goodbye world, infinite ridicule even some negative color. The fact that the author interprets it completely overturns my view of programming. Although it is useless, it is enough to be persuasive. That's right. I think when I realized the meaning, I also produced "since I can call it to speak, you can let it do anything!" "Strong desires."

1th Chapter: Dead.

This chapter has the same similarities with the last reading of the myth of the People's moon. is to discuss the relationship between man and month's mutual restraint and mutual dependence. An error can make a project "dead". Often brings a time trap of unknown factors. Brooks Law: The addition of manpower to a project that has been delayed will only cause it to continue to be delayed. The most ideal development group scale alone. But it is almost impossible for a large and wide-ranging program. In theory, team development has to be recognized, not to mention its almost essential in practice.

Open source code is also a contradiction product, on the one hand may have a negative impact on the business, on the one hand in the development of engineers and expand the perspective of the promotion role. From my point of view, of course, the code is open, but when an industry almost forms a monopoly, it may not have a benevolent heart to share knowledge and wealth.

The 2nd Chapter: the Soul of agenda

Software or projects are not really "changing" the world, but are driven by the dream of changing the world.

He and his Lotus company have many more developers who are committed to the project and the persistence of the disaster. It is the spirit of the developer in a sense.

The 3rd Chapter: prototypes and Python

By incorporating some aspects of life into the software code, it is easy to be confused by the possibilities of novelty and attraction, without seeing what you have given up. The lack of software has brought great convenience to life, but it has also deprived us of our perception of the physical world and the perceptual world. When you realize this problem or want to improve it, the amount of work is unusually large. Software flexibility is not high, which is also a big obstacle. Tools, materials, languages, and technologies are becoming more and more inflexible as the software becomes large.

Then there is the prevalence of all kinds of languages. Python is an interpreted language, but a simple and understandable language is clearly more effective at modifying errors and expanding programs. This means that the often overlooked "scripting language" of interpreted languages is crucial. Another advantage of this is that the variable type is set loosely.

Java we are not unfamiliar, and its advantages-cross-platform, object-oriented and so we are familiar. Well, I have to admit, it's very important for us to learn it.

The 4th chapter: Le Gao Wang

From another dimension of the software abstraction layer, software developers often talk about foreground and background. At the front desk, the front desk is the part of the program that deals with the user-displays forms, dialogs, and mouse instructions that tell you what is happening, giving you a way to enter information and get output information. Background is the foreground event and the user input direction of the place, the computer to the event and input processing, saving, retrieval. The front desk should be sophisticated, intuitive and powerful, and the backstage should be invisible, funny and rock-solid. Front desk dialogue with people, backstage and bit dialogue.

The Lego hypothesis means that future programs will be composed of reusable parts. Parts will be available worldwide. Although this assumption is actually not easy to implement, it cannot even be achieved. The key to a good project is reuse, not repetition. Integrate your predecessors ' successful experiences and write less new code. The dilemma of software reuse: Create or borrow?

This chapter mainly describes the Lego building blocks of software production, if the block is a program code, it is difficult to achieve perfect, fully applicable and streamlined code. Ultimately this way is the Kassel team in this area of an attempt to explore, worthy of our admiration and admiration.

The environment that is associated with a bit of the day requires programmers to have an autistic heart. Communication is important, but software is not communicated in blogs and chat software, but is written by some people on a line. This process needs to focus and avoid interruptions. In a "market" style, "shared" in the development of the atmosphere, how can you ensure that closed doors to develop it?

The Chandler team decided to release the chandler0.2 version in September, following the clock-driven system. It turns out that the last 0.2 version was a rotten version, but the Chandler team was released because it was time to release the promise. Knowing the consequences, the team learned the lesson and no longer publishes it with such constraints. But this kind of way actually has the good and the bad, the advantage lies in has the constraint the condition, the team naturally also has the goal and the efficiency. And the downside is naturally if the expected time or not to make things, the release of things naturally not high quality.

Later, the team started using "stickers on the Whiteboard", which is what Mr. Wang taught us to use, partitioning the whiteboard and listing some of the issues that are pending. I think this approach is good for the development of the project, of course, not like the Chandler team in the half-hour problem stick to the 100-sheet. Thatch's brainwave, for the team to bring a corner of Hope, album blog was published, and one of the things used the Chandler framework, only used about two hours of time. As a programmer needs this brainwave, but the source of inspiration must not be a mere gleam of light, it must be because already have a lot of accumulation, such as call Chandler already exist framework.

Two years after the public announcement, OSAF in the outside world seems to have been doing better than expected, after the release of the 0.4 version of the download is the best proof. But Osaf has a workflow and a workable methodology that might allow him to move toward the target. There are plans and schedules from the outset, but the progress is not always as expected. These I have also heard in teacher Wang's class, the actual time of the software must be different from the estimate, how to estimate the more accurate is a problem.

The summary points are as follows:

1. "There is no such thing as a typical software project," Andy Herzfiel likes to say, "Every project has its differences." We develop software without a fixed template, each project's core will be different, software development is like the creator of life, no One life is a touch of the same, even if a pupil carved out also has a difference. Not to mention the face of the customer's various needs.

2. In the face of a variety of customer needs, the programmer's response is different, of course, each programmer's ability is not the same, good programmers know what to write, and the excellent programmer knows what to rewrite (and reuse).

3. Software development and stacking Lego bricks is completely different, Lego bricks-type plug-in is not appropriate. Software It is like an onion layered, each layer is painstakingly built on the foundation of the previous layer, at stake, hoping that the bottom layer do not move or change too much. The people who do the software like to talk about bricks, but the skeptics only see castles in the castle, in any case, over and over, one layer at a to build up. As McCascow said: "We intend to reuse the existing code as much as possible, less new code, to speed up the work process, we have to try to avoid stepping into the new coding zone."

4. Software development There is a law, quality triangle can not be combined, that is, speed, cheap, high quality. Three often can only choose the second, like building a high-rise, people are always used to postpone the completion, so that they will not be suspected of quality problems, in turn, if a building 10 days to cover, people will feel too impossible, such a building people will not live in, software development is also like this, Speed may not guarantee quality, quality may be delayed completion, of course, this also has a close relationship with the programmer.

5. Software development team formation is also a relatively difficult thing, because the productivity of different programmers are far apart, often reach 10 times times the gap. So, thinking about how to configure a project person is as frustrating as the time it takes to estimate the project. The team also has the appearance of "geek", how to manage and play the advantage of the surprising guest is also a problem.

6. The software development process can not be too quick, can't think of a bite to eat a fat, do not expect to achieve big achievements in a short time, otherwise it will start again.

7. The development process should pay attention to the needs of certain details of the customer, to the greatest extent possible to customer satisfaction.

8. In the development process to pay attention to some of the habits, such as parameter naming method.

9. Software development Although it is a difficult process, but as long as the insistence, there will always be achievements, if not adhere to, what is not done.

Dream Break Code

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.